org.apache.sandesha2.storage
Class StorageManager

java.lang.Object
  extended by org.apache.sandesha2.storage.StorageManager
Direct Known Subclasses:
InMemoryStorageManager, PersistentStorageManager

public abstract class StorageManager
extends java.lang.Object

Storage managers should extend this.


Constructor Summary
StorageManager(org.apache.axis2.context.ConfigurationContext context)
           
 
Method Summary
 org.apache.axis2.context.ConfigurationContext getContext()
           
abstract  SandeshaThread getInvoker()
          Get the invoker that hands inbound messages over to the application.
abstract  InvokerBeanMgr getInvokerBeanMgr()
           
abstract  PollingManager getPollingManager()
          Get the thread that generates polling requests to send to remote endpoints.
abstract  RMDBeanMgr getRMDBeanMgr()
           
abstract  RMSBeanMgr getRMSBeanMgr()
           
abstract  SandeshaThread getSender()
           
abstract  SenderBeanMgr getSenderBeanMgr()
           
abstract  Transaction getTransaction()
           
abstract  boolean hasUserTransaction(org.apache.axis2.context.MessageContext message)
          If there is no user transaction in scope then we can optimize the sending / invoking of a message.
abstract  void initStorage(org.apache.axis2.description.AxisModule moduleDesc)
           
abstract  void removeMessageContext(java.lang.String storageKey)
           
abstract  boolean requiresMessageSerialization()
           
abstract  org.apache.axis2.context.MessageContext retrieveMessageContext(java.lang.String storageKey, org.apache.axis2.context.ConfigurationContext configContext)
           
 void setContext(org.apache.axis2.context.ConfigurationContext context)
           
 void shutdown()
           
abstract  void storeMessageContext(java.lang.String storageKey, org.apache.axis2.context.MessageContext msgContext)
           
abstract  void updateMessageContext(java.lang.String storageKey, org.apache.axis2.context.MessageContext msgContext)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StorageManager

public StorageManager(org.apache.axis2.context.ConfigurationContext context)
Method Detail

getContext

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

setContext

public void setContext(org.apache.axis2.context.ConfigurationContext context)

shutdown

public void shutdown()

initStorage

public abstract void initStorage(org.apache.axis2.description.AxisModule moduleDesc)
                          throws SandeshaStorageException
Throws:
SandeshaStorageException

getTransaction

public abstract Transaction getTransaction()

getSender

public abstract SandeshaThread getSender()

getInvoker

public abstract SandeshaThread getInvoker()
Get the invoker that hands inbound messages over to the application. This may be null, in which case the inbound messages will be dispatched directly to the application without switching them over to the invoker.

Returns:
null if messages should be delivered directly to the application, otherwise return a SandeshaThread.

getPollingManager

public abstract PollingManager getPollingManager()
Get the thread that generates polling requests to send to remote endpoints. This may be null, in which case the storage manager does not support polling.

Returns:
null if polling is diabled, otherwise return a PollingManager.

getRMSBeanMgr

public abstract RMSBeanMgr getRMSBeanMgr()

getRMDBeanMgr

public abstract RMDBeanMgr getRMDBeanMgr()

getSenderBeanMgr

public abstract SenderBeanMgr getSenderBeanMgr()

getInvokerBeanMgr

public abstract InvokerBeanMgr getInvokerBeanMgr()

storeMessageContext

public abstract void storeMessageContext(java.lang.String storageKey,
                                         org.apache.axis2.context.MessageContext msgContext)
                                  throws SandeshaStorageException
Throws:
SandeshaStorageException

updateMessageContext

public abstract void updateMessageContext(java.lang.String storageKey,
                                          org.apache.axis2.context.MessageContext msgContext)
                                   throws SandeshaStorageException
Throws:
SandeshaStorageException

retrieveMessageContext

public abstract org.apache.axis2.context.MessageContext retrieveMessageContext(java.lang.String storageKey,
                                                                               org.apache.axis2.context.ConfigurationContext configContext)
                                                                        throws SandeshaStorageException
Throws:
SandeshaStorageException

removeMessageContext

public abstract void removeMessageContext(java.lang.String storageKey)
                                   throws SandeshaStorageException
Throws:
SandeshaStorageException

hasUserTransaction

public abstract boolean hasUserTransaction(org.apache.axis2.context.MessageContext message)
                                    throws SandeshaStorageException
If there is no user transaction in scope then we can optimize the sending / invoking of a message. This method allows the StorageManager to tell the core Sandesha code if there is a transaction in scope.

Returns:
true, if there is a user transaction in scope.
Throws:
SandeshaStorageException

requiresMessageSerialization

public abstract boolean requiresMessageSerialization()


Copyright © The Apache Software Foundation. All Rights Reserved.