You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by Andrew K Gatford <GA...@uk.ibm.com> on 2006/11/29 18:16:08 UTC

[Sandesha2] Sending ack requests, close and terminate sequence processing

Hi all,

I've been looking into how the sending of an ack request, close and
terminate works.
Currently they all reject 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 might mean that the following case would fail:

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.

What I would like to propose is changing 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.


Andrew Gatford

Hursley MP211
Telephone :
Internal (7) 245743
External 01962 815743
Internet : gatfora@uk.ibm.com


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org