In Petstore, the following sequence of method calls appears to happen:
ShoppingClientControllerEJB.handleEvent(CartEvent)
which delegates to:
StateMachine.handleEvent(CartEvent)
which delegates to:
CartHandler.perform(CartEvent)
which then calls:
StateMachine.getShoppingClientControllerEJB().getShoppingCart();
Isn't this a loopback to the ShoppingClientController session bean? According to the spec:
The container must ensure that only one thread can be executing an instance at any time. If a client request arrives for an instance while the instance is executing another request, the container must throw the java.rmi.RemoteException to the second request.
Note that a session object is intended to support only a single client. Therefore, it would be an application error if two clients attempted to invoke the same session object.
***One implication of this rule is that an application cannot make loopback calls to a session bean instance.***
What am I missing?
ShoppingClientControllerEJB.handleEvent(CartEvent)
which delegates to:
StateMachine.handleEvent(CartEvent)
which delegates to:
CartHandler.perform(CartEvent)
which then calls:
StateMachine.getShoppingClientControllerEJB().getShoppingCart();
Isn't this a loopback to the ShoppingClientController session bean? According to the spec:
The container must ensure that only one thread can be executing an instance at any time. If a client request arrives for an instance while the instance is executing another request, the container must throw the java.rmi.RemoteException to the second request.
Note that a session object is intended to support only a single client. Therefore, it would be an application error if two clients attempted to invoke the same session object.
***One implication of this rule is that an application cannot make loopback calls to a session bean instance.***
What am I missing?