Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mule.processor
Class SedaStageInterceptingMessageProcessor

    java.lang.Object
      org.mule.processor.AbstractInterceptingMessageProcessor
          org.mule.processor.AsyncInterceptingMessageProcessor
              org.mule.processor.SedaStageInterceptingMessageProcessor

All Implemented Interfaces:
  Runnable, EventListener, javax.resource.spi.work.Work, javax.resource.spi.work.WorkListener, Disposable, Initialisable, Lifecycle, Startable, Stoppable, InterceptingMessageProcessor, MessageProcessor, MessageSource

    public class SedaStageInterceptingMessageProcessor

extends AsyncInterceptingMessageProcessor
implements javax.resource.spi.work.WorkListener, javax.resource.spi.work.Work, Lifecycle

Processes `MuleEvent`'s asynchronously using a `MuleWorkManager` to schedule asynchronous processing of the next `MessageProcessor`. The next `MessageProcessor` will therefore be executed in a different thread unless the event is synchronous in which case the next `MessageProcessor` is invoked directly in the same thread.

Field Summary
`protected LifecycleState` | `lifecycleState`
`protected MuleContext` | `muleContext`
`protected String` | `name`
`protected Queue` | `queue`
`protected static String` | `QUEUE_NAME_PREFIX`
`protected QueueProfile` | `queueProfile`
`protected QueueStatistics` | `queueStatistics`
`protected int` | `queueTimeout`

Fields inherited from class org.mule.processor.AsyncInterceptingMessageProcessor
`doThreading, workManager, workManagerSource`

Fields inherited from class org.mule.processor.AbstractInterceptingMessageProcessor
`logger, next`

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`

Constructor Summary
`SedaStageInterceptingMessageProcessor(String name, QueueProfile queueProfile, int queueTimeout, WorkManagerSource workManagerSource, boolean doThreading, LifecycleState lifecycleState, QueueStatistics queueStatistics, MuleContext muleContext)`

Method Summary
`protected MuleEvent` | `dequeue()`
`void` | `dispose()` A lifecycle method where implementor should free up any resources.
`protected void` | `enqueue(MuleEvent event)`
`protected String` | `getQueueName()`
`int` | `getQueueSize()`
`protected String` | `getStageDescription()`
`protected String` | `getStageName()`
`void` | `initialise()` Method used to perform any initialisation work.
`protected boolean` | `isQueuePersistent()` Are the events in the SEDA queue persistent?
`protected boolean` | `isStatsEnabled()`
`MuleEvent` | `process(MuleEvent event)` Invokes the MessageProcessor.
`protected void` | `processAsync(MuleEvent event)`
`void` | `release()`
`void` | `run()` While the service isn't stopped this runs a continuous loop checking for new events in the queue.
`void` | `start()`
`void` | `stop()`
`protected void` | `waitIfPaused()`

Methods inherited from class org.mule.processor.AsyncInterceptingMessageProcessor
`handleWorkException, workAccepted, workCompleted, workRejected, workStarted`

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`

Methods inherited from interface javax.resource.spi.work.WorkListener
`workAccepted, workCompleted, workRejected, workStarted`

Field Detail

### QUEUE_NAME_PREFIX

    protected static final String QUEUE_NAME_PREFIX

See Also:
  Constant Field Values

### queueProfile

    protected QueueProfile queueProfile

### queueTimeout

    protected int queueTimeout

### lifecycleState

    protected LifecycleState lifecycleState

### queueStatistics

    protected QueueStatistics queueStatistics

### muleContext

    protected MuleContext muleContext

### name

    protected String name

### queue

    protected Queue queue

Constructor Detail

### SedaStageInterceptingMessageProcessor

    public SedaStageInterceptingMessageProcessor(String name,
                                                 QueueProfile queueProfile,
                                                 int queueTimeout,
                                                 WorkManagerSource workManagerSource,
                                                 boolean doThreading,
                                                 LifecycleState lifecycleState,
                                                 QueueStatistics queueStatistics,
                                                 MuleContext muleContext)

Method Detail

### process

    public MuleEvent process(MuleEvent event)
                      throws MuleException

  Description copied from interface: `MessageProcessor`
  Invokes the MessageProcessor.

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

### processAsync

    protected void processAsync(MuleEvent event)
                         throws MuleException

  Overrides:
    `processAsync` in class `AsyncInterceptingMessageProcessor`
  Throws:
    `MuleException`

### isStatsEnabled

    protected boolean isStatsEnabled()

### enqueue

    protected void enqueue(MuleEvent event)
                    throws Exception

  Throws:
    `Exception`

### dequeue

    protected MuleEvent dequeue()
                         throws Exception

  Throws:
    `Exception`

### run

    public void run()

  While the service isn't stopped this runs a continuous loop checking for new events in the queue.

  Specified by:
    `run` in interface `Runnable`

### isQueuePersistent

    protected boolean isQueuePersistent()

  Are the events in the SEDA queue persistent?

### getQueueSize

    public int getQueueSize()

### getQueueName

    protected String getQueueName()

### getStageName

    protected String getStageName()

### getStageDescription

    protected String getStageDescription()

### waitIfPaused

    protected void waitIfPaused()
                         throws InterruptedException

  Throws:
    `InterruptedException`

### release

    public void release()

  Specified by:
    `release` in interface `javax.resource.spi.work.Work`

### 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`
  Throws:
    `InitialisationException` - if a fatal error occurs causing the Mule instance to shutdown
    `RecoverableException` - if an error occurs that can be recovered from

### start

    public void start()
               throws MuleException

  Specified by:
    `start` in interface `Startable`
  Overrides:
    `start` in class `AsyncInterceptingMessageProcessor`
  Throws:
    `MuleException`

### stop

    public void stop()
              throws MuleException

  Specified by:
    `stop` in interface `Stoppable`
  Overrides:
    `stop` in class `AsyncInterceptingMessageProcessor`
  Throws:
    `MuleException`

### dispose

    public void dispose()

  Description copied from interface: `Disposable`
  A lifecycle method where implementor should free up any resources. If an exception is thrown it should just be logged and processing should continue. This method should not throw Runtime exceptions.

  Specified by:
    `dispose` in interface `Disposable`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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