-
Bug
-
Resolution: Done
-
Major
-
28.0.1.Final
-
None
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.
- is related to
-
WEJBHTTP-110 EE interoperability handshake can provide incorrect results due to call to affinity handler
- Pull Request Sent