JIRA for this is
http://jira.jboss.com/jira/browse/EJBTHREE-925.
A fix that will give behavior consistent with the objective of EJBTHREE-773 is:
1) For clustered SFSBs, the StatefulClusterProxyFactory should be registered with the
Dispatcher with a name like this:
container.getObjectName().getCanonicalName() +
",element=ProxyFactory,partition=" + container.getPartitionName()
With this, the call to the proxy factory will route locally if the target factory is
associated with the same bean name in the same deployment package in the same cluster
partition; otherwise it will go remote.
2) For non-clustered SFSBs, use of different partition names is not available as a means
to distinguish two identical deployments on separate groups of servers. The stated
objective of EJBTHREE-773 was to have the call go remote if this kind of deployment exists
and the client does a lookup on a remote server, so:
a) The client interceptor stack for the ProxyFactory proxy will not include the
o.j.aspects.IsLocalInterceptor. This should be fine. For this call there are no later
client-side interceptors that should be bypassed if the call is local. And Remoting
already detects if the call's InvokerLocator points to a local server, and bypasses
any marshalling if it is. So, getting rid of this interceptor allows calls to go remote
but shouldn't noticeably the handling of legitimate local calls.
b) the StatefulRemoteProxyFactory will be registered with the Dispatcher with a name like
the above, minus the partition attribute. Given a) above this isn't really necessary,
but it seems like a safer name (e.g. if someone some day restores the IsLocalInterceptor
you won't end up with proxy creation calls going to completely unrelated beans.)
I've implented the above on my Branch_4_2 working copy and the tests I wrote that
surfaced this now pass. I'm running the full ejb3 testsuite overnight; if no issues
pop up I'll check it in in the morning.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4031458#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...