SFSB proxy creation process incorrectly routed locally
------------------------------------------------------
Key: EJBTHREE-925
URL:
http://jira.jboss.com/jira/browse/EJBTHREE-925
Project: EJB 3.0
Issue Type: Bug
Affects Versions: AS 4.2.0 CR1
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: AS 4.2.0 CR2
Say you have two completely unrelated SFSBs, Bean0 and Bean1, deployed on two different
servers, node0 and node1. The only common point between Bean0 and Bean1 is they both are
SFSBs bound in JNDI under "StatefulBeanRemote". Otherwise they are completely
unrelated.
Client on node0 then contacts the JNDI server on node1 and does a lookup of
"StatefulBeanRemote" expecting to get a proxy for Bean1. The SFSB proxy-creation
process will end up being routed locally to the proxy factory for Bean0. Wrong!
Problem is this:
1) When client does an SFSB lookup, they don't directly download the SFSB proxy.
Instead they download a proxy to the bean's ProxyFactory. That proxy then makes a
remoting RPC back to the remote server to get the SFSB proxy. See
o.j.ejb3.JndiProxyFactory.
2) The proxy to the remote ProxyFactory includes o.j.aspects.remoting.IsLocalnterceptor.
That interceptor will bypass the remote call and invoke locally if the aop Dispatcher has
a target registered with the same id as the target id associated with the call.
3) For calls made by the proxy to the remote ProxyFactory, the target id is the jndiName
of the bean (plus a constant). So, if an unrelated target is registered locally with the
same JNDI name, the call will incorrectly be routed to the local bean's proxy
factory.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira