An FYI; not necessarily a problem.
I'm seeing a difference in behavior when a bean in one AS looks up a bean in another
AS and then invokes on it.[1] Previously that call would go remote; now it stays local if
the same bean is deployed locally.
This is because of the change in how proxy factories are created. Previously they were
built on the server and downloaded. Now they are built on the client. Effect is
IsLocalProxyFactoryInterceptor.isLocal() will *always* return true.
I don't know if this is an acceptable behavior change or not. I do think it should be
overridable; for EJB2 beans I often see forum requests wanting to know how to override
"local-preference". For EJB2 this can be overridden by writing a simple custom
extension of a JBoss class, which can then be configured in on a per-bean basis. For EJB3
the equivalent override would be a bit more complex (customized
IsLocalProxyFactoryInterceptor and extension of all the ObjectFactory impls to override
createProxyFactoryProxy). But if that's done I don't see any way to configure the
new classes on a per-bean basis. The JndiSessionRegistrarBase impls to use are hard
coded.
[1] e.g.
| public VMID getVMIDFromRemoteLookup(String jndiURL, String name)
| throws NamingException
| {
| log.info("Looking up " + jndiURL + "/" + name);
| Properties env = new Properties();
| env.setProperty(Context.PROVIDER_URL, jndiURL);
| env.setProperty("jnp.disableDiscovery", "true");
| InitialContext ctx = new InitialContext(env);
| VMTester tester = (VMTester) ctx.lookup(name);
| return tester.getVMID();
| }
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4172041#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...