org.mule.processor
Class AsyncInterceptingMessageProcessor

java.lang.Object
  extended by org.mule.processor.AbstractInterceptingMessageProcessor
      extended by org.mule.processor.AsyncInterceptingMessageProcessor
All Implemented Interfaces:
java.util.EventListener, javax.resource.spi.work.WorkListener, Startable, Stoppable, InterceptingMessageProcessor, MessageProcessor, MessageSource
Direct Known Subclasses:
OptionalAsyncInterceptingMessageProcessor

public class AsyncInterceptingMessageProcessor
extends AbstractInterceptingMessageProcessor
implements javax.resource.spi.work.WorkListener, Startable, Stoppable

Processes MuleEvent's asynchronously using a MuleWorkManager to schedule asynchronous processing of 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  boolean doThreading
           
protected  WorkManager workManager
           
protected  WorkManagerSource workManagerSource
           
 
Fields inherited from class org.mule.processor.AbstractInterceptingMessageProcessor
logger, next
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Constructor Summary
AsyncInterceptingMessageProcessor(ThreadingProfile threadingProfile, java.lang.String name, int shutdownTimeout)
           
AsyncInterceptingMessageProcessor(WorkManagerSource workManagerSource)
           
AsyncInterceptingMessageProcessor(WorkManagerSource workManagerSource, boolean doThreading)
          Deprecated. 
 
Method Summary
protected  void handleWorkException(javax.resource.spi.work.WorkEvent event, java.lang.String type)
           
protected  boolean isProcessAsync(MuleEvent event)
           
 MuleEvent process(MuleEvent event)
          Invokes the MessageProcessor.
protected  void processNextAsync(MuleEvent event)
           
 void start()
           
 void stop()
           
 void workAccepted(javax.resource.spi.work.WorkEvent event)
           
 void workCompleted(javax.resource.spi.work.WorkEvent event)
           
 void workRejected(javax.resource.spi.work.WorkEvent event)
           
 void workStarted(javax.resource.spi.work.WorkEvent event)
           
 
Methods inherited from class org.mule.processor.AbstractInterceptingMessageProcessor
processNext, setListener, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

workManagerSource

protected WorkManagerSource workManagerSource

doThreading

protected boolean doThreading

workManager

protected WorkManager workManager
Constructor Detail

AsyncInterceptingMessageProcessor

public AsyncInterceptingMessageProcessor(WorkManagerSource workManagerSource)

AsyncInterceptingMessageProcessor

@Deprecated
public AsyncInterceptingMessageProcessor(WorkManagerSource workManagerSource,
                                                    boolean doThreading)
Deprecated. 


AsyncInterceptingMessageProcessor

public AsyncInterceptingMessageProcessor(ThreadingProfile threadingProfile,
                                         java.lang.String name,
                                         int shutdownTimeout)
Method Detail

start

public void start()
           throws MuleException
Specified by:
start in interface Startable
Throws:
MuleException

stop

public void stop()
          throws MuleException
Specified by:
stop in interface Stoppable
Throws:
MuleException

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

isProcessAsync

protected boolean isProcessAsync(MuleEvent event)
                          throws MessagingException
Throws:
MessagingException

processNextAsync

protected void processNextAsync(MuleEvent event)
                         throws MuleException
Throws:
MuleException

workAccepted

public void workAccepted(javax.resource.spi.work.WorkEvent event)
Specified by:
workAccepted in interface javax.resource.spi.work.WorkListener

workRejected

public void workRejected(javax.resource.spi.work.WorkEvent event)
Specified by:
workRejected in interface javax.resource.spi.work.WorkListener

workStarted

public void workStarted(javax.resource.spi.work.WorkEvent event)
Specified by:
workStarted in interface javax.resource.spi.work.WorkListener

workCompleted

public void workCompleted(javax.resource.spi.work.WorkEvent event)
Specified by:
workCompleted in interface javax.resource.spi.work.WorkListener

handleWorkException

protected void handleWorkException(javax.resource.spi.work.WorkEvent event,
                                   java.lang.String type)


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