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]

Reply via email to