org.mule.processor
Class AsyncDelegateMessageProcessor

java.lang.Object
  extended by org.mule.processor.AbstractMuleObjectOwner<MessageProcessor>
      extended by org.mule.processor.AbstractMessageProcessorOwner
          extended by org.mule.processor.AsyncDelegateMessageProcessor
All Implemented Interfaces:
AnnotatedObject, FlowConstructAware, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, MessageProcessor

public class AsyncDelegateMessageProcessor
extends AbstractMessageProcessorOwner
implements MessageProcessor, Initialisable, Startable, Stoppable

Processes MuleEvent's asynchronously using a MuleWorkManager to schedule asynchronous processing of MessageProcessor delegate configured the next MessageProcessor. The next MessageProcessor is therefore be executed in a different thread regardless of the exchange-pattern configured on the inbound endpoint. If a transaction is present then an exception is thrown.


Field Summary
protected  MessageProcessor delegate
           
protected  Log logger
           
protected  String name
           
protected  ProcessingStrategy processingStrategy
           
protected  List<MessageProcessor> processors
           
 
Fields inherited from class org.mule.processor.AbstractMuleObjectOwner
flowConstruct, muleContext
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Fields inherited from interface org.mule.api.AnnotatedObject
PROPERTY_NAME
 
Constructor Summary
AsyncDelegateMessageProcessor(MessageProcessor delegate, ProcessingStrategy processingStrategy, String name)
           
 
Method Summary
protected  List<MessageProcessor> getOwnedMessageProcessors()
           
 ProcessingStrategy getProcessingStrategy()
           
 void initialise()
          Method used to perform any initialisation work.
 MuleEvent process(MuleEvent event)
          Invokes the MessageProcessor.
 void setDelegate(MessageProcessor delegate)
           
 
Methods inherited from class org.mule.processor.AbstractMessageProcessorOwner
getAnnotation, getAnnotations, getOwnedObjects, setAnnotations
 
Methods inherited from class org.mule.processor.AbstractMuleObjectOwner
dispose, getFlowConstruct, getMuleContext, setFlowConstruct, setMuleContext, start, stop
 
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
 
Methods inherited from interface org.mule.api.lifecycle.Disposable
dispose
 
Methods inherited from interface org.mule.api.context.MuleContextAware
setMuleContext
 
Methods inherited from interface org.mule.api.construct.FlowConstructAware
setFlowConstruct
 

Field Detail

logger

protected Log logger

delegate

protected MessageProcessor delegate

processors

protected List<MessageProcessor> processors

processingStrategy

protected ProcessingStrategy processingStrategy

name

protected String name
Constructor Detail

AsyncDelegateMessageProcessor

public AsyncDelegateMessageProcessor(MessageProcessor delegate,
                                     ProcessingStrategy processingStrategy,
                                     String name)
Method Detail

initialise

public void initialise()
                throws InitialisationException
Description copied from interface: Initialisable
Method used to perform any initialisation work. If a fatal error occurs during initialisation an InitialisationException should be thrown, causing the Mule instance to shutdown. If the error is recoverable, say by retrying to connect, a RecoverableException should be thrown. There is no guarantee that by throwing a Recoverable exception that the Mule instance will not shut down.

Specified by:
initialise in interface Initialisable
Overrides:
initialise in class AbstractMuleObjectOwner<MessageProcessor>
Throws:
InitialisationException - if a fatal error occurs causing the Mule instance to shutdown
RecoverableException - if an error occurs that can be recovered from

process

public MuleEvent process(MuleEvent event)
                  throws MuleException
Description copied from interface: MessageProcessor
Invokes the MessageProcessor.

Specified by:
process in interface MessageProcessor
Parameters:
event - MuleEvent to be processed
Returns:
optional response MuleEvent
Throws:
MuleException

setDelegate

public void setDelegate(MessageProcessor delegate)

getOwnedMessageProcessors

protected List<MessageProcessor> getOwnedMessageProcessors()
Specified by:
getOwnedMessageProcessors in class AbstractMessageProcessorOwner

getProcessingStrategy

public ProcessingStrategy getProcessingStrategy()


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