Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-18201

Require RemoteHttpInvoker affinity handler to participate in interoperability protocol

XMLWordPrintable

      The EE interoperability handshake allows legacy (javax packaging) clients to correctly interoperate with current (jakarta packaging) servers. This applies to the EJB client, Transaction client and Naming client libraries. The handshake was introduced in the wildfly-http-client library in version 2.0.2.Final

      The wildfly-http-client library relies on the Undertow RemoteHTTPInvoker service, which allows making HTTP requests on Undertow using a special context path /wildfly-services. When an HTTP request is received with this context path prefix, special HTTP handlers get called to service the request. This is the mechanism that is used to implement Naming/HTTP, Transaction/HTTP and EJB/HTTP client invocations.

      The wildfly-http-client makes use of an affinity value for associating clients with backend servers. Affinity is usually set upon invocation, but the wildfly-http-client has a configuration option eagerly-acquire-affinity which sends an affinity request ahead of any invocations made by the client to the server. 

      When the wildfly-http-client handshake was introduced, the server-side handler for processing affinity requests was not adjusted to use the EENamespaceInteroperability wrapper and so was not participating correctly in the handshake when the setting eagerly-acquire-affinity was set to true. This caused the handshake to not perform as expected.     

       

            rachmato@redhat.com Richard Achmatowicz
            rachmato@redhat.com Richard Achmatowicz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: