Say suppose I deploy a bean with Remote Home and Component Interface.
Suppose I have a client running in the same JVM which have a reference to this bean (a reference to the Bean's Remote Interface). Now are the parameters and return values passed by "Copy of Reference" or "Copy of Value"
Ideally it should be copy of value. But some server's do an optimization like if the call is from one remote bean to another remote bean and both beans are in the same JVM, hte container will automatically convert the remote call to a local call ( and passes argument as copy of reference). may some experts here can throw more lights on it.
Sandeep, The return type, if you are returning a Remote Interface from a method call, that would be a Pass by Value and that would be a stub and Container will take care of serializing it.
Joined: Dec 22, 2005
The return value need not be a Remote Interface. It would be anything that is RMI-IIOP Compatible. Anish, If the Container optimizes and passes a "Copy of Reference" than I feel that it would hurt the portability of Beans. The bean developer may be tempted to depend on the side effects caused by passing the reference. Please let me know if I am missing something here.
Based on what I've read in HF EJB, Local Home and Component pass by reference and have to be in the same JVM. Remote Home and Component pass by value even if they are on the same machine as the bean object. Hope this helps.