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
AProducer
that defers being started, untilCamelContext
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.
-
-
Constructor Summary
Constructors Constructor Description DeferProducer(org.apache.camel.Endpoint endpoint)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doStart()
protected void
doStop()
org.apache.camel.Endpoint
getEndpoint()
boolean
isSingleton()
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)
String
toString()
-
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, 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
-
-
-
-
Method Detail
-
process
public void process(org.apache.camel.Exchange exchange) throws Exception
- 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
protected void doStart() throws Exception
- Overrides:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStop
protected void doStop() throws Exception
- 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
-
-