[jboss-dev-forums] [Design of EJB 3.0] - Re: IsLocalInterceptor not detecting local container

bstansberry@jboss.com do-not-reply at jboss.com
Tue Mar 13 17:59:20 EDT 2007


You need something to identify the cluster-wide deployment, as opposed to the VM. The current isLocal() approach distinguishes the VM just fine and allows the call to go remote. Where it fails is in properly letting the call stay local.

To recognize each other the deserialized proxy and the local container need a common piece of info.

Perhaps including the partitionName is sufficient. If someone:

1) Creates cluster A and names it DefaultPartition.
2) Creates cluster B and names it DefaultPartition.
3) Deploys things that have the same ejbName on both.
4) Has a client on A that downloads a proxy from B and invokes on it.

Well, that's just stupid.  They should just use different partition names. If they want that to work they can remove the IsLocalInterceptor or write a custom impl.

Re the benefits of optimizing, I 99% agree. The only area where I'm unconvinced is SFSB where the proxy wasn't created locally (a .01% case).  But that's such an edge case that I don't really care. :) And it's too late to change FirstAvailable for 4.2 to properly support it anyway.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4027717#4027717

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4027717



More information about the jboss-dev-forums mailing list