It does the following:
A bean that is declared as belonging to a particular conversation is always wrapped by the IOC system in a proxy object. When any method is called on that proxy, the call is forwarded to the "invoke" method here. This class then ensures that the "current conversation" is set to the conversation configured for that target bean. The result is that the real bean can call Conversation.getCurrentInstance() and always receives a reference to the conversation object that has been configured for it.
In addition, on return from the target bean method, this object checks whether the conversation has been marked as invalid. If so (and the conversation is not in use by something further up the call stack) then destroy the conversation object.
|
|
|
|
|
|
|
|
|
|
|
|