Incorrect ConversationEndedException:Conversation has expired. on reference
-----------------------------------------------------------------------------
Key: TUSCANY-2088
URL: https://issues.apache.org/jira/browse/TUSCANY-2088
Project: Tuscany
Issue Type: Bug
Reporter: Lou Amodeo
I am seeing a problems with an erroneous conversation ended state for
references that are not wired directly to services. The following snippet from
JDKInvocationHandler shows 2 issues. 1) An assumption that there will always
be a component wired to a target and 2) That the ConversationAttributes
which are specified on the service impl are accessible. In the case of a
remote service accessed using binding.ws neither of these are true. If I
revert back to the old way of not handling expiry on the client the
conversation behaves as expected.
ConversationManager conversationManager =
((RuntimeWireImpl)wire).getConversationManager();
if (conversation == null || conversation.getState() == ConversationState.ENDED)
{
conversation = conversationManager.startConversation(getConversationID());
conversation.initializeConversationAttributes(wire.getTarget().getComponent());
if (callableReference != null) {
((CallableReferenceImpl)callableReference).attachConversation(conversation);
}
}
} else if (conversation.isExpired()) {
throw new ConversationEndedException("Conversation has expired.");
}
conversation.updateLastReferencedTime();
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]