-
1. Re: Behavior difference in intra-AS EJB calls
brian.stansberry Aug 22, 2008 2:15 PM (in response to brian.stansberry)The old behavior could be restored easily enough by adding a StringRefAddr with some sort of vmid/long to the Reference. Then the ObjectFactory uses a constructor method on IsLocalProxyFactoryInterceptor that gets passed the vmid. Or a factory method on IsLocalProxyFactoryInterceptor that returns a 'singleton', either IsLocalProxyFactoryInterceptor.local or IsLocalProxyFactoryInterceptor.remote.
If you guys think that's a valid thing to do, I can do it pretty quick; an existing clustering test already tests this. -
2. Re: Behavior difference in intra-AS EJB calls
brian.stansberry Aug 22, 2008 2:39 PM (in response to brian.stansberry)Just to clarify; my initial post was inaccurate.
Issue is with the proxy to the proxy factory that is created client-side via ProxyObjectFactory.createProxyFactoryProxy(). That results in a proxy that uses an IsLocalProxyFactoryInterceptor that is instantiated client-side. -
3. Re: Behavior difference in intra-AS EJB calls
alrubinger Aug 22, 2008 2:42 PM (in response to brian.stansberry)Some more clarification (and also for the record so I can remember):
Proxy Factories are created on the server and registered with MC (and, if remote, with Dispatcher).
Remote JNDI lookups create a PojiProxy to the Dispatcher to get at the Proxy Factory, calling upon it to return the Proxy.
S,
ALR -
4. Re: Behavior difference in intra-AS EJB calls
wolfc Aug 22, 2008 5:09 PM (in response to brian.stansberry)A bean that has been looked up remotely, but that also exists locally should not be invoked locally. (Where local and remote are nodes which are not bound in the same cluster.)
https://jira.jboss.org/jira/browse/EJBTHREE-773 -
5. Re: Behavior difference in intra-AS EJB calls
brian.stansberry Aug 22, 2008 6:44 PM (in response to brian.stansberry)"wolfc" wrote:
A bean that has been looked up remotely, but that also exists locally should not be invoked locally. (Where local and remote are nodes which are not bound in the same cluster.)
The behavior you describe is what existed for clustered beans looked up from a remote node: same cluster, go local, different cluster, go remote. I can reproduce that behavior with no problem w/ proxy-clustered.
What's changed is the behavior of non-clustered beans -- before they went remote, now they go local. I found the threads related to EJBTHREE-773, and it's clear from those that the intent of Bill D's work was that the calls would go remote:
http://www.jboss.com/?module=bb&op=viewtopic&t=104924
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=101220