org.mule.processor.strategy
Class QueuedAsynchronousProcessingStrategy

java.lang.Object
  extended by org.mule.processor.strategy.AsynchronousProcessingStrategy
      extended by org.mule.processor.strategy.QueuedAsynchronousProcessingStrategy
All Implemented Interfaces:
ProcessingStrategy, QueueStatisticsAware
Direct Known Subclasses:
DefaultFlowProcessingStrategy, QueuedThreadPerProcessorProcessingStrategy

public class QueuedAsynchronousProcessingStrategy
extends AsynchronousProcessingStrategy
implements QueueStatisticsAware

This strategy uses a QueueManager to decouple receipt and processing of messages. The queue is polled and a WorkManager is used to schedule processing of the pipeline of message processors in a single worker thread.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.mule.api.processor.ProcessingStrategy
ProcessingStrategy.StageNameSource
 
Field Summary
protected  Integer maxQueueSize
           
protected  QueueStatistics queueStatistics
           
protected  QueueStore<Serializable> queueStore
           
protected  Integer queueTimeout
           
 
Fields inherited from class org.mule.processor.strategy.AsynchronousProcessingStrategy
maxBufferSize, maxThreads, minThreads, poolExhaustedAction, synchronousProcessingStrategy, threadTTL, threadWaitTimeout
 
Constructor Summary
QueuedAsynchronousProcessingStrategy()
           
 
Method Summary
protected  AsyncInterceptingMessageProcessor createAsyncMessageProcessor(ProcessingStrategy.StageNameSource nameSource, MuleContext muleContext)
           
 Integer getMaxQueueSize()
           
 QueueStatistics getQueueStatistics()
           
 QueueStore<Serializable> getQueueStore()
           
 Integer getQueueTimeout()
           
protected  void initQueueStore(MuleContext muleContext)
           
 void setMaxQueueSize(Integer maxQueueSize)
           
 void setQueueStatistics(QueueStatistics queueStatistics)
           
 void setQueueStore(QueueStore<Serializable> queueStore)
           
 void setQueueTimeout(Integer queueTimeout)
           
 
Methods inherited from class org.mule.processor.strategy.AsynchronousProcessingStrategy
configureProcessors, createThreadingProfile, getMaxBufferSize, getMaxThreads, getMinThreads, getPoolExhaustedAction, getThreadPoolName, getThreadTTL, getThreadWaitTimeout, setMaxBufferSize, setMaxThreads, setMinThreads, setPoolExhaustedAction, setThreadTTL, setThreadWaitTimeout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

queueTimeout

protected Integer queueTimeout

maxQueueSize

protected Integer maxQueueSize

queueStore

protected QueueStore<Serializable> queueStore

queueStatistics

protected QueueStatistics queueStatistics
Constructor Detail

QueuedAsynchronousProcessingStrategy

public QueuedAsynchronousProcessingStrategy()
Method Detail

createAsyncMessageProcessor

protected AsyncInterceptingMessageProcessor createAsyncMessageProcessor(ProcessingStrategy.StageNameSource nameSource,
                                                                        MuleContext muleContext)
Overrides:
createAsyncMessageProcessor in class AsynchronousProcessingStrategy

initQueueStore

protected void initQueueStore(MuleContext muleContext)

getQueueTimeout

public Integer getQueueTimeout()

setQueueTimeout

public void setQueueTimeout(Integer queueTimeout)

getMaxQueueSize

public Integer getMaxQueueSize()

setMaxQueueSize

public void setMaxQueueSize(Integer maxQueueSize)

getQueueStore

public QueueStore<Serializable> getQueueStore()

setQueueStore

public void setQueueStore(QueueStore<Serializable> queueStore)

getQueueStatistics

public QueueStatistics getQueueStatistics()

setQueueStatistics

public void setQueueStatistics(QueueStatistics queueStatistics)
Specified by:
setQueueStatistics in interface QueueStatisticsAware


Copyright © 2003-2014 MuleSoft, Inc.. All Rights Reserved.