org.apache.camel.processor
Class UnitOfWorkProcessor
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.processor.DelegateAsyncProcessor
org.apache.camel.processor.UnitOfWorkProcessor
- All Implemented Interfaces:
- AsyncProcessor, DelegateProcessor, Navigate<Processor>, Processor, Service, ShutdownableService, StatefulService, SuspendableService
- Direct Known Subclasses:
- ChildUnitOfWorkProcessor, SubUnitOfWorkProcessor
public class UnitOfWorkProcessor
- extends DelegateAsyncProcessor
Ensures the Exchange
is routed under the boundaries of an UnitOfWork
.
Handles calling the UnitOfWork.done(org.apache.camel.Exchange)
method
when processing of an Exchange
is complete.
Methods inherited from class org.apache.camel.support.ServiceSupport |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, start, stop, suspend |
UnitOfWorkProcessor
public UnitOfWorkProcessor(Processor processor)
UnitOfWorkProcessor
public UnitOfWorkProcessor(AsyncProcessor processor)
UnitOfWorkProcessor
public UnitOfWorkProcessor(RouteContext routeContext,
Processor processor)
UnitOfWorkProcessor
public UnitOfWorkProcessor(RouteContext routeContext,
AsyncProcessor processor)
toString
public String toString()
- Overrides:
toString
in class DelegateAsyncProcessor
getRouteContext
public RouteContext getRouteContext()
doStart
protected void doStart()
throws Exception
- Description copied from class:
ServiceSupport
- Implementations override this method to support customized start/stop.
Important: See
ServiceSupport.doStop()
for more details.
- Overrides:
doStart
in class DelegateAsyncProcessor
- Throws:
Exception
- See Also:
ServiceSupport.doStop()
process
public boolean process(Exchange exchange,
AsyncCallback callback)
- Description copied from interface:
AsyncProcessor
- Processes the message exchange.
Similar to
Processor.process(org.apache.camel.Exchange)
, but the caller supports having the exchange asynchronously processed.
If there was a failure processing then the caused Exception
would be set on the Exchange
.
- Specified by:
process
in interface AsyncProcessor
- Overrides:
process
in class DelegateAsyncProcessor
- Parameters:
exchange
- the message exchangecallback
- the AsyncCallback
will be invoked when the processing of the exchange is completed.
If the exchange is completed synchronously, then the callback is also invoked synchronously.
The callback should therefore be careful of starting recursive loop.
- Returns:
- (doneSync) true to continue execute synchronously, false to continue being executed asynchronously
- See Also:
AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)
processSync
protected boolean processSync(Exchange exchange,
AsyncCallback callback,
UnitOfWork uow)
processAsync
protected boolean processAsync(Exchange exchange,
AsyncCallback callback,
UnitOfWork uow)
createUnitOfWork
protected UnitOfWork createUnitOfWork(Exchange exchange)
- Strategy to create the unit of work for the given exchange.
- Parameters:
exchange
- the exchange
- Returns:
- the created unit of work
Apache CAMEL