|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.camel.impl.DefaultUnitOfWork
public class DefaultUnitOfWork
The default implementation of UnitOfWork
| Field Summary | |
|---|---|
protected org.slf4j.Logger |
log
|
| Constructor Summary | |
|---|---|
DefaultUnitOfWork(Exchange exchange)
|
|
| Method Summary | |
|---|---|
void |
addSynchronization(Synchronization synchronization)
Adds a synchronization hook |
void |
afterProcess(Processor processor,
Exchange exchange,
AsyncCallback callback,
boolean doneSync)
Strategy for optional work to be executed after the processing |
AsyncCallback |
beforeProcess(Processor processor,
Exchange exchange,
AsyncCallback callback)
Strategy for optional work to be execute before processing For example the MDCUnitOfWork leverages this
to ensure MDC is handled correctly during routing exchanges using the
asynchronous routing engine. |
void |
beginTransactedBy(Object key)
Mark this UnitOfWork as being transacted by the given transaction key. |
void |
done(Exchange exchange)
Invoked when this unit of work has been completed, whether it has failed or completed |
void |
endTransactedBy(Object key)
Mark this UnitOfWork as not transacted anymore by the given transaction definition. |
String |
getId()
Returns the unique ID of this unit of work, lazily creating one if it does not yet have one |
Message |
getOriginalInMessage()
Gets the original IN Message this Unit of Work was started with. |
RouteContext |
getRouteContext()
Gets the RouteContext that this UnitOfWork currently is being routed through. |
TracedRouteNodes |
getTracedRouteNodes()
Gets tracing information |
void |
handoverSynchronization(Exchange target)
Handover all the registered synchronizations to the target Exchange. |
boolean |
isTransacted()
Are we transacted? |
boolean |
isTransactedBy(Object key)
Are we already transacted by the given transaction key? |
RouteContext |
popRouteContext()
When finished being routed under the current RouteContext
it should be removed. |
void |
pushRouteContext(RouteContext routeContext)
Pushes the RouteContext that this UnitOfWork currently is being routed through. |
void |
removeSynchronization(Synchronization synchronization)
Removes a synchronization hook |
void |
start()
Starts the service |
void |
stop()
Stops the service |
String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final transient org.slf4j.Logger log
| Constructor Detail |
|---|
public DefaultUnitOfWork(Exchange exchange)
| Method Detail |
|---|
public void start()
throws Exception
Service
start in interface ServiceException - is thrown if starting failed
public void stop()
throws Exception
Service
stop in interface ServiceException - is thrown if stopping failedpublic void addSynchronization(Synchronization synchronization)
UnitOfWork
addSynchronization in interface UnitOfWorksynchronization - the hookpublic void removeSynchronization(Synchronization synchronization)
UnitOfWork
removeSynchronization in interface UnitOfWorksynchronization - the hookpublic void handoverSynchronization(Exchange target)
UnitOfWorkExchange.
This is used when a route turns into asynchronous and the Exchange that
is continued and routed in the async thread should do the on completion callbacks instead of the
original synchronous thread.
handoverSynchronization in interface UnitOfWorktarget - the target exchangepublic void done(Exchange exchange)
UnitOfWork
done in interface UnitOfWorkexchange - the current exchangepublic String getId()
UnitOfWork
getId in interface UnitOfWorkpublic Message getOriginalInMessage()
UnitOfWorkMessage this Unit of Work was started with.
getOriginalInMessage in interface UnitOfWorkMessagepublic TracedRouteNodes getTracedRouteNodes()
UnitOfWork
getTracedRouteNodes in interface UnitOfWorkpublic boolean isTransacted()
UnitOfWork
isTransacted in interface UnitOfWorkpublic boolean isTransactedBy(Object key)
UnitOfWork
isTransactedBy in interface UnitOfWorkkey - the transaction key
public void beginTransactedBy(Object key)
UnitOfWorkUnitOfWork.endTransactedBy(Object) method using the same key.
beginTransactedBy in interface UnitOfWorkkey - the transaction keypublic void endTransactedBy(Object key)
UnitOfWork
endTransactedBy in interface UnitOfWorkkey - the transaction keypublic RouteContext getRouteContext()
UnitOfWorkRouteContext that this UnitOfWork currently is being routed through.
Notice that an Exchange can be routed through multiple routes and thus the
RouteContext can change over time.
getRouteContext in interface UnitOfWorkUnitOfWork.pushRouteContext(RouteContext),
UnitOfWork.popRouteContext()public void pushRouteContext(RouteContext routeContext)
UnitOfWorkRouteContext that this UnitOfWork currently is being routed through.
Notice that an Exchange can be routed through multiple routes and thus the
RouteContext can change over time.
pushRouteContext in interface UnitOfWorkrouteContext - the route contextpublic RouteContext popRouteContext()
UnitOfWorkRouteContext
it should be removed.
popRouteContext in interface UnitOfWork
public AsyncCallback beforeProcess(Processor processor,
Exchange exchange,
AsyncCallback callback)
UnitOfWorkMDCUnitOfWork leverages this
to ensure MDC is handled correctly during routing exchanges using the
asynchronous routing engine.
beforeProcess in interface UnitOfWorkprocessor - the processor to be executedexchange - the current exchangecallback - the callback
public void afterProcess(Processor processor,
Exchange exchange,
AsyncCallback callback,
boolean doneSync)
UnitOfWork
afterProcess in interface UnitOfWorkprocessor - the processor executedexchange - the current exchangecallback - the callback useddoneSync - whether the process was done synchronously or asynchronouslypublic String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||