[ 
https://issues.apache.org/jira/browse/SANDESHA2-58?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Gatford resolved SANDESHA2-58.
-------------------------------------

    Resolution: Fixed

> Terminate and Close rejected for sequences that have not been established
> -------------------------------------------------------------------------
>
>                 Key: SANDESHA2-58
>                 URL: https://issues.apache.org/jira/browse/SANDESHA2-58
>             Project: Sandesha2
>          Issue Type: Improvement
>            Reporter: Andrew Gatford
>            Priority: Minor
>         Attachments: ackRequestStore.patch, closeStore.patch, 
> processOutMessageRefactor.patch, terminateStored.patch
>
>
> Ack request, close and terminate works are rejected calls if the RM sequence 
> has not been established
> with code similar to the following ->
>             String outSequenceID = SandeshaUtil.getSequenceProperty
> (internalSeqenceID,
>                         Sandesha2Constants.SequenceProperties.
> OUT_SEQUENCE_ID, storageManager);
>             if (outSequenceID == null)
>                   throw new SandeshaException(SandeshaMessageHelper.
> getMessage(
>                               SandeshaMessageKeys.
> couldNotSendAckRequestSeqNotFound, internalSeqenceID));
> This would mean that the following case would fail if the target service is 
> not currently available:
> 1) createSequence
> 2) send app message
> 3) terminate sequence
> 4) wait for sequence completion
> 1 and 2 would both be accepted by RM and would be queued, 3 might fail if
> the create sequence response has not been recieved and the terminate would
> be lost.
> The change is to the Ack/Terminate and Close
> processors to Add SenderBeans  with send set to false, and add the messages
> to the store with a Temp sequence id (as with the application messages).
> In the close and terminate cases, no more messages would then be accepted
> on the sequence.
> When the CreateSequence response is processed it would then be able to fill
> in the sequence id for each of the different message types (app/ack/close
> and terminate).
> This way the ack, close and terminate requests would not be rejected and
> the Sender would be able to send the messages in order.

-- 
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