org.mule.util.queue
Class TransactionalQueueManager

java.lang.Object
  extended by org.mule.util.xa.AbstractResourceManager
      extended by org.mule.util.xa.AbstractXAResourceManager
          extended by org.mule.util.queue.TransactionalQueueManager
All Implemented Interfaces:
Startable, Stoppable, QueueManager

public class TransactionalQueueManager
extends AbstractXAResourceManager
implements QueueManager

The Transactional Queue Manager is responsible for creating and Managing transactional Queues. Queues can also be persistent by setting a persistence strategy on the manager. Default straties are provided for Memory, Jounaling, Cache and File.


Nested Class Summary
protected  class TransactionalQueueManager.QueueTransactionContext
           
 
Field Summary
 
Fields inherited from class org.mule.util.xa.AbstractXAResourceManager
activeContexts, suspendedContexts
 
Fields inherited from class org.mule.util.xa.AbstractResourceManager
DEFAULT_COMMIT_TIMEOUT_FACTOR, DEFAULT_TIMEOUT_MSECS, defaultTimeout, dirty, globalTransactions, OPERATION_MODE_RECOVERING, OPERATION_MODE_STARTED, OPERATION_MODE_STARTING, OPERATION_MODE_STOPPED, OPERATION_MODE_STOPPING, operationMode, SHUTDOWN_MODE_KILL, SHUTDOWN_MODE_NORMAL, SHUTDOWN_MODE_ROLLBACK
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Constructor Summary
TransactionalQueueManager()
           
 
Method Summary
protected  AbstractTransactionContext createTransactionContext(Object session)
           
protected  void doBegin(AbstractTransactionContext context)
           
protected  void doCommit(AbstractTransactionContext context)
           
protected  Object doLoad(QueueInfo queue, Object id)
           
protected  int doPrepare(AbstractTransactionContext context)
           
protected  void doRemove(QueueInfo queue, Object id)
           
protected  void doRollback(AbstractTransactionContext context)
           
protected  void doStart()
           
protected  Object doStore(QueueInfo queue, Object object)
           
protected  Log getLogger()
           
 QueuePersistenceStrategy getMemoryPersistenceStrategy()
           
 QueuePersistenceStrategy getPersistenceStrategy()
           
protected  QueueInfo getQueue(String name)
           
 QueueSession getQueueSession()
           
protected  void recover()
           
 void setDefaultQueueConfiguration(QueueConfiguration config)
           
 void setMemoryPersistenceStrategy(QueuePersistenceStrategy memoryPersistenceStrategy)
           
 void setPersistenceStrategy(QueuePersistenceStrategy persistenceStrategy)
           
 void setQueueConfiguration(String queueName, QueueConfiguration config)
           
protected  boolean shutdown(int mode, long timeoutMSecs)
           
 
Methods inherited from class org.mule.util.xa.AbstractXAResourceManager
includeBranchInXid
 
Methods inherited from class org.mule.util.xa.AbstractResourceManager
assureReady, assureStarted, beginTransaction, commitTransaction, getDefaultTransactionTimeout, prepareTransaction, rollbackTransaction, setDefaultTransactionTimeout, setDirty, setTransactionRollbackOnly, start, startTransaction, stop, stop, stop, waitForAllTxToStop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mule.api.lifecycle.Startable
start
 
Methods inherited from interface org.mule.api.lifecycle.Stoppable
stop
 

Constructor Detail

TransactionalQueueManager

public TransactionalQueueManager()
Method Detail

getQueueSession

public QueueSession getQueueSession()
Specified by:
getQueueSession in interface QueueManager

setDefaultQueueConfiguration

public void setDefaultQueueConfiguration(QueueConfiguration config)
Specified by:
setDefaultQueueConfiguration in interface QueueManager

setQueueConfiguration

public void setQueueConfiguration(String queueName,
                                  QueueConfiguration config)
Specified by:
setQueueConfiguration in interface QueueManager

getQueue

protected QueueInfo getQueue(String name)

getLogger

protected Log getLogger()
Specified by:
getLogger in class AbstractResourceManager

doStart

protected void doStart()
                throws ResourceManagerSystemException
Overrides:
doStart in class AbstractResourceManager
Throws:
ResourceManagerSystemException

shutdown

protected boolean shutdown(int mode,
                           long timeoutMSecs)
Overrides:
shutdown in class AbstractResourceManager

recover

protected void recover()
                throws ResourceManagerSystemException
Overrides:
recover in class AbstractResourceManager
Throws:
ResourceManagerSystemException

createTransactionContext

protected AbstractTransactionContext createTransactionContext(Object session)
Specified by:
createTransactionContext in class AbstractResourceManager

doBegin

protected void doBegin(AbstractTransactionContext context)
Specified by:
doBegin in class AbstractResourceManager

doPrepare

protected int doPrepare(AbstractTransactionContext context)
Specified by:
doPrepare in class AbstractResourceManager

doCommit

protected void doCommit(AbstractTransactionContext context)
                 throws ResourceManagerException
Specified by:
doCommit in class AbstractResourceManager
Throws:
ResourceManagerException

doStore

protected Object doStore(QueueInfo queue,
                         Object object)
                  throws IOException
Throws:
IOException

doRemove

protected void doRemove(QueueInfo queue,
                        Object id)
                 throws IOException
Throws:
IOException

doLoad

protected Object doLoad(QueueInfo queue,
                        Object id)
                 throws IOException
Throws:
IOException

doRollback

protected void doRollback(AbstractTransactionContext context)
                   throws ResourceManagerException
Specified by:
doRollback in class AbstractResourceManager
Throws:
ResourceManagerException

getPersistenceStrategy

public QueuePersistenceStrategy getPersistenceStrategy()
Specified by:
getPersistenceStrategy in interface QueueManager
Returns:
Returns the persistenceStrategy.

setPersistenceStrategy

public void setPersistenceStrategy(QueuePersistenceStrategy persistenceStrategy)
Specified by:
setPersistenceStrategy in interface QueueManager
Parameters:
persistenceStrategy - The persistenceStrategy to set.

getMemoryPersistenceStrategy

public QueuePersistenceStrategy getMemoryPersistenceStrategy()
Specified by:
getMemoryPersistenceStrategy in interface QueueManager

setMemoryPersistenceStrategy

public void setMemoryPersistenceStrategy(QueuePersistenceStrategy memoryPersistenceStrategy)
Specified by:
setMemoryPersistenceStrategy in interface QueueManager


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.