When migrating a huge application from JBoss 3.2.7 to JBoss 4.0 (and then to JBoss 4.2), I found some strange behaviour which I filed as a bug (http://jira.jboss.org/jira/browse/JBAS-5302) and some implementation details which I wanted to discuss here (http://www.jboss.com/index.html?module=bb&op=viewtopic&t=123553), probably the wrong forum... many views, no comment ;-)
Reading the sources and the EJB spec lead me to these questions:
Why has the 3.2.7 compatibility not been implemented, using the invokerProxyBinding instead of doing a fresh lookup? The StatefulHandleImpl stores the "old" values when the property "org.jboss.ejb.sfsb.handle.V327" is set, but it doesn't use them.
I tried to port the 3.2.7 implementation to the getEJBObject method, evaluating the property, and it worked for me in a non clustered environment (JBoss 4.0.7).
JBoss implementations (as the StatefulHandleImpl) sometimes rely on "new InitialContext()".
We sometimes come up, that a thread on a client didn't ever do a lookup by himself using new InitialContext(properties) and the system properties are not set at all. Must the client programmer provide informations, that a "new InitialContext()" works consistent, or must the implementation not rely on the use of getting a new initial context without "seeing" the right properties?
Sorry you didn't get an answer on the "EJB/JBoss" forum, but your question is beyond the scope of Remoting.