org.wso2.mercury.state
Class RMSContext

java.lang.Object
  extended by org.wso2.mercury.state.RMSContext

public class RMSContext
extends java.lang.Object

this class is used to keep sequence objects with different ids.


Constructor Summary
RMSContext(org.apache.axis2.context.ConfigurationContext configurationContext)
           
 
Method Summary
 org.apache.axis2.context.ConfigurationContext getConfigurationContext()
           
 java.util.Map getiSKRMSSequenceMap()
           
 java.util.Map getMessageIDRMSSequenceMap()
           
 RMSSequence getRMSSeqenceWithInternalKey(InternalSequenceKey key)
           
 RMSSequence getRMSSequence(java.lang.String messageID, java.lang.String sequenceID)
          there can be two create sequence responses comes symultaniously.
 RMSSequence getRMSSequenceWithMessageID(java.lang.String messageID)
           
 RMSSequence getRMSSequenceWithSequenceID(java.lang.String sequenceID)
           
 java.util.Map getSequenceIDRMSSequenceMap()
           
 boolean isContainsRMSSequence(RMSSequence rmsSequence)
          this checks whether we have already started a this sequence
 void registerRMSSequenceToInternalKey(InternalSequenceKey key, RMSSequence rmsSequence)
           
 void registerRMSSequenceToMessageID(java.lang.String messageID, RMSSequence rmsSequence)
           
 void registerRMSSequenceToSequenceID(java.lang.String sequenceID, RMSSequence rmsSequence)
           
 void removeExpiredSequences()
           
 void resumeSequence(InternalSequenceKey key, org.apache.axis2.context.MessageContext msgContext)
           
 void setConfigurationContext(org.apache.axis2.context.ConfigurationContext configurationContext)
           
 void setiSKRMSSequenceMap(java.util.Map iSKRMSSequenceMap)
           
 void setMessageIDRMSSequenceMap(java.util.Map messageIDRMSSequenceMap)
           
 void setSequenceIDRMSSequenceMap(java.util.Map sequenceIDRMSSequenceMap)
           
 void unRegisterRMSSequenceWithInternalKey(InternalSequenceKey key)
           
 void unRegisterRMSSequenceWithMessageID(java.lang.String messageID)
           
 void unRegisterRMSSequenceWithSequenceID(java.lang.String sequenceID)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RMSContext

public RMSContext(org.apache.axis2.context.ConfigurationContext configurationContext)
Method Detail

getRMSSequence

public RMSSequence getRMSSequence(java.lang.String messageID,
                                  java.lang.String sequenceID)
there can be two create sequence responses comes symultaniously. so we have to synchronise them. if they have same message id then first one will get the RMSSequenceDto for that message id, remove it and add it againg using the sequenceID. then second one get a null and we think it is a duplicate one. if they have different message IDs then only first one will register the RMSSequenceDto.

Parameters:
messageID -
sequenceID -
Returns:
rms sequence

resumeSequence

public void resumeSequence(InternalSequenceKey key,
                           org.apache.axis2.context.MessageContext msgContext)
                    throws PersistenceException,
                           org.apache.axis2.AxisFault
Throws:
PersistenceException
org.apache.axis2.AxisFault

removeExpiredSequences

public void removeExpiredSequences()

registerRMSSequenceToInternalKey

public void registerRMSSequenceToInternalKey(InternalSequenceKey key,
                                             RMSSequence rmsSequence)

registerRMSSequenceToMessageID

public void registerRMSSequenceToMessageID(java.lang.String messageID,
                                           RMSSequence rmsSequence)

registerRMSSequenceToSequenceID

public void registerRMSSequenceToSequenceID(java.lang.String sequenceID,
                                            RMSSequence rmsSequence)

getRMSSeqenceWithInternalKey

public RMSSequence getRMSSeqenceWithInternalKey(InternalSequenceKey key)

getRMSSequenceWithMessageID

public RMSSequence getRMSSequenceWithMessageID(java.lang.String messageID)

getRMSSequenceWithSequenceID

public RMSSequence getRMSSequenceWithSequenceID(java.lang.String sequenceID)

unRegisterRMSSequenceWithInternalKey

public void unRegisterRMSSequenceWithInternalKey(InternalSequenceKey key)

unRegisterRMSSequenceWithMessageID

public void unRegisterRMSSequenceWithMessageID(java.lang.String messageID)

unRegisterRMSSequenceWithSequenceID

public void unRegisterRMSSequenceWithSequenceID(java.lang.String sequenceID)

isContainsRMSSequence

public boolean isContainsRMSSequence(RMSSequence rmsSequence)
this checks whether we have already started a this sequence

Parameters:
rmsSequence -
Returns:
whether sequence is there or not.

getiSKRMSSequenceMap

public java.util.Map getiSKRMSSequenceMap()

setiSKRMSSequenceMap

public void setiSKRMSSequenceMap(java.util.Map iSKRMSSequenceMap)

getMessageIDRMSSequenceMap

public java.util.Map getMessageIDRMSSequenceMap()

setMessageIDRMSSequenceMap

public void setMessageIDRMSSequenceMap(java.util.Map messageIDRMSSequenceMap)

getSequenceIDRMSSequenceMap

public java.util.Map getSequenceIDRMSSequenceMap()

setSequenceIDRMSSequenceMap

public void setSequenceIDRMSSequenceMap(java.util.Map sequenceIDRMSSequenceMap)

getConfigurationContext

public org.apache.axis2.context.ConfigurationContext getConfigurationContext()

setConfigurationContext

public void setConfigurationContext(org.apache.axis2.context.ConfigurationContext configurationContext)


~~~~~~~~~~~~~~~~~~~ Mercury ~~~~~~~~~~~~~~~~~~~~~