org.wso2.mercury.state
Class RMDSequence
java.lang.Object
org.wso2.mercury.state.RMDSequence
public class RMDSequence
- extends java.lang.Object
this class keeps the sates of the RMD
state of the RMD is basically determine by two factors for
this model
FMR - first message received.
LMR - last message received.
these two factors forms possible 4 states. but only
3 can be really exists.
This stat machine stat is changed by possible following events
AMR(SC) - Application message received and this completes the sequence.
this means we have alrady receive the last message and there is one
missing message to complete the sequence.
AMR(SNC) - Application message received and it does not complete the sequence.
here it can either be a without receiving last message or there may be missing messages
LMR(SC) - Last message receive which completes the sequence
LMR(SNC) - Last message receive but sequence is not completed.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
STATE_00
public static final int STATE_00
- See Also:
- Constant Field Values
STATE_10
public static final int STATE_10
- See Also:
- Constant Field Values
STATE_11
public static final int STATE_11
- See Also:
- Constant Field Values
STATE_COMPLETED
public static final int STATE_COMPLETED
- See Also:
- Constant Field Values
STATE_TERMINATED
public static final int STATE_TERMINATED
- See Also:
- Constant Field Values
RETRANSMIT_TIME
public static long RETRANSMIT_TIME
TIMEOUT_TIME
public static long TIMEOUT_TIME
RMDSequence
public RMDSequence(int state)
setInvokerBufferPersistanceManager
public void setInvokerBufferPersistanceManager()
doActions
public void doActions()
throws org.apache.axis2.AxisFault,
RMMessageBuildingException
- Throws:
org.apache.axis2.AxisFault
RMMessageBuildingException
sendCreateSequenceResponseMessage
public void sendCreateSequenceResponseMessage()
throws org.apache.axis2.AxisFault,
RMMessageBuildingException
- Throws:
org.apache.axis2.AxisFault
RMMessageBuildingException
applicationMessageReceived
public boolean applicationMessageReceived(long messageNumber,
MercuryMessageContext mercuryMessageContext)
throws PersistenceException
- this message should not be a last message
- Parameters:
messageNumber
-
- Throws:
PersistenceException
lastMessageReceived
public boolean lastMessageReceived(long messageNumber,
MercuryMessageContext mercuryMessageContext)
throws PersistenceException
- Throws:
PersistenceException
sendSequenceAcknowledgementMessage
public void sendSequenceAcknowledgementMessage(org.apache.axis2.context.MessageContext inboundMessageContext)
throws org.apache.axis2.AxisFault,
RMMessageBuildingException
- Throws:
org.apache.axis2.AxisFault
RMMessageBuildingException
getSequenceAcknowledgment
public SequenceAcknowledgment getSequenceAcknowledgment()
terminateSequenceMessageReceived
public void terminateSequenceMessageReceived()
throws PersistenceException
- Throws:
PersistenceException
save
public void save()
throws PersistenceException
- Throws:
PersistenceException
loadRMDSequenceDetails
public void loadRMDSequenceDetails(org.apache.axis2.context.MessageContext messageContext)
throws PersistenceException,
org.apache.axis2.AxisFault
- Throws:
PersistenceException
org.apache.axis2.AxisFault
terminate
public void terminate()
- this method is called for an unexpected sequence termination
isMessageReceived
public boolean isMessageReceived(long messageNumber)
getState
public int getState()
setState
public void setState(int state)
getLastAccesedTime
public long getLastAccesedTime()
setLastAccesedTime
public void setLastAccesedTime(long lastAccesedTime)
getAcksTo
public org.apache.axis2.addressing.EndpointReference getAcksTo()
setAcksTo
public void setAcksTo(org.apache.axis2.addressing.EndpointReference acksTo)
getSequenceID
public java.lang.String getSequenceID()
setSequenceID
public void setSequenceID(java.lang.String sequenceID)
getCreateSequenceMessageContext
public org.apache.axis2.context.MessageContext getCreateSequenceMessageContext()
setCreateSequenceMessageContext
public void setCreateSequenceMessageContext(org.apache.axis2.context.MessageContext createSequenceMessageContext)
getInvokerBuffer
public InvokerBuffer getInvokerBuffer()
setInvokerBuffer
public void setInvokerBuffer(InvokerBuffer invokerBuffer)
getAxis2Info
public Axis2Info getAxis2Info()
setAxis2Info
public void setAxis2Info(Axis2Info axis2Info)
getLastMessageNumber
public long getLastMessageNumber()
setLastMessageNumber
public void setLastMessageNumber(long lastMessageNumber)
getPersistanceDto
public RMDSequenceDto getPersistanceDto()
setPersistanceDto
public void setPersistanceDto(RMDSequenceDto persistanceDto)
isAnonymous
public boolean isAnonymous()
setAnonymous
public void setAnonymous(boolean anonymous)
getOfferedRMSSequence
public RMSSequence getOfferedRMSSequence()
setOfferedRMSSequence
public void setOfferedRMSSequence(RMSSequence offeredRMSSequence)
getSelfAcksToEPR
public java.lang.String getSelfAcksToEPR()
setSelfAcksToEPR
public void setSelfAcksToEPR(java.lang.String selfAcksToEPR)
~~~~~~~~~~~~~~~~~~~ Mercury ~~~~~~~~~~~~~~~~~~~~~