Status: Closed (View Workflow)
Affects Version/s: JBossAS-5.0.0.Beta2, JBossAS-4.2.1.GA
I have realised that UnifiedInvokerProxy/UnifiedInvokerProxyHA maintain a instance reference to
the InvokerLocator/Client instances to a specific invocation is using. That is, when a new target is
chosen, the unified proxy updates its Client and corresponding InvokerLocator instances (if they've
changed), and uses the Cient instance variable to make the call. As far as I can see there's no
synchronisation in the usage/assignment of Client or InvokerLocator. Proxies are meant to be thread
safe which means that multiple client app threads could be using the same proxy without any problems.
I can see all this going wrong the moment someone uses client proxies this way in a clustered
environment with round robin load balance policy. We've got no guarantee that round robin will work
correctly in these situations.
Several solutions have been discussed in