Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Unknown
Description
On client side, an instance of HTTPConduit is saved in the Message when the ConduitSelector is used on client (in particular, the prepare(Message message) method is called on the selector). That applies to the oubound message only, though. The inbound message is not explicitly linked to the conduit, untill something actually needs it (lazy approach), for instance the PolicyInVerificationInterceptor.
This is a problem as the selector clears the message context cache after having selected the conduit, which is a performance issue as we end up computing the cache twice for response messages. The conduit should be selected (actually copied from the outbound message) soon after having created the response inbound Message, to prevent double cache computing.