org.apache.camel.component.direct
Class DirectConsumer

java.lang.Object
  extended by org.apache.camel.impl.ServiceSupport
      extended by org.apache.camel.impl.DefaultConsumer
          extended by org.apache.camel.component.direct.DirectConsumer
All Implemented Interfaces:
Consumer, Service, ShutdownableService, ShutdownAware, SuspendableService

public class DirectConsumer
extends DefaultConsumer
implements ShutdownAware, SuspendableService

The direct consumer.

Version:

Field Summary
 
Fields inherited from class org.apache.camel.impl.DefaultConsumer
log
 
Constructor Summary
DirectConsumer(Endpoint endpoint, Processor processor)
           
 
Method Summary
 boolean deferShutdown(ShutdownRunningTask shutdownRunningTask)
          To defer shutdown during first phase of shutdown.
protected  void doResume()
          Implementations override this method to support customized suspend/resume.
protected  void doStart()
           
protected  void doStop()
           
protected  void doSuspend()
          Implementations override this method to support customized suspend/resume.
 int getPendingExchangesSize()
          Gets the number of pending exchanges.
 void prepareShutdown()
          Prepares the consumer for shutdown.
 
Methods inherited from class org.apache.camel.impl.DefaultConsumer
getAsyncProcessor, getEndpoint, getExceptionHandler, getProcessor, handleException, setExceptionHandler, toString
 
Methods inherited from class org.apache.camel.impl.ServiceSupport
addChildService, doShutdown, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
 
Methods inherited from interface org.apache.camel.Service
start, stop
 

Constructor Detail

DirectConsumer

public DirectConsumer(Endpoint endpoint,
                      Processor processor)
Method Detail

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class DefaultConsumer
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Overrides:
doStop in class DefaultConsumer
Throws:
Exception

doSuspend

protected void doSuspend()
                  throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized suspend/resume.

Overrides:
doSuspend in class ServiceSupport
Throws:
Exception

doResume

protected void doResume()
                 throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized suspend/resume.

Overrides:
doResume in class ServiceSupport
Throws:
Exception

deferShutdown

public boolean deferShutdown(ShutdownRunningTask shutdownRunningTask)
Description copied from interface: ShutdownAware
To defer shutdown during first phase of shutdown. This allows any pending exchanges to be completed and therefore ensure a graceful shutdown without loosing messages. At the very end when there are no more inflight and pending messages the consumer could then safely be shutdown.

This is needed by SedaConsumer.

Specified by:
deferShutdown in interface ShutdownAware
Parameters:
shutdownRunningTask - the configured option for how to act when shutting down running tasks.
Returns:
true to defer shutdown to very last.

getPendingExchangesSize

public int getPendingExchangesSize()
Description copied from interface: ShutdownAware
Gets the number of pending exchanges.

Some consumers has internal queues with Exchange which are pending. For example the SedaConsumer.

Return zero to indicate no pending exchanges and therefore ready to shutdown.

Specified by:
getPendingExchangesSize in interface ShutdownAware
Returns:
number of pending exchanges

prepareShutdown

public void prepareShutdown()
Description copied from interface: ShutdownAware
Prepares the consumer for shutdown.

For example by graceful stopping any threads or the likes.

Specified by:
prepareShutdown in interface ShutdownAware


Apache CAMEL