Package org.apache.camel.support
Class DeferProducer
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DeferProducer
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.AsyncProcessor
,org.apache.camel.EndpointAware
,org.apache.camel.IsSingleton
,org.apache.camel.Processor
,org.apache.camel.Producer
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
public class DeferProducer
extends org.apache.camel.support.service.ServiceSupport
implements org.apache.camel.Producer, org.apache.camel.AsyncProcessor
A
Producer
that defers being started, until CamelContext
has been started, this
ensures that the producer is able to adapt to changes that may otherwise occur during starting CamelContext. If we do
not defer starting the producer it may not adapt to those changes, and send messages to wrong endpoints.-
Field Summary
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStart()
protected void
doStop()
org.apache.camel.Endpoint
boolean
void
process
(org.apache.camel.Exchange exchange) boolean
process
(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) CompletableFuture
<org.apache.camel.Exchange> processAsync
(org.apache.camel.Exchange exchange) toString()
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, 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.Service
build, close, init, start, stop
Methods inherited from interface org.apache.camel.ShutdownableService
shutdown
Methods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
DeferProducer
public DeferProducer(org.apache.camel.Endpoint endpoint)
-
-
Method Details
-
process
- Specified by:
process
in interfaceorg.apache.camel.Processor
- Throws:
Exception
-
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) - Specified by:
process
in interfaceorg.apache.camel.AsyncProcessor
-
processAsync
public CompletableFuture<org.apache.camel.Exchange> processAsync(org.apache.camel.Exchange exchange) - Specified by:
processAsync
in interfaceorg.apache.camel.AsyncProcessor
-
doStart
- Overrides:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
isSingleton
public boolean isSingleton()- Specified by:
isSingleton
in interfaceorg.apache.camel.IsSingleton
-
getEndpoint
public org.apache.camel.Endpoint getEndpoint()- Specified by:
getEndpoint
in interfaceorg.apache.camel.EndpointAware
-
toString
-