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
    Constructor
    Description
    DeferProducer(org.apache.camel.Endpoint endpoint)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected void
     
    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)
     
     

    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

      public void process(org.apache.camel.Exchange exchange) throws Exception
      Specified by:
      process in interface org.apache.camel.Processor
      Throws:
      Exception
    • process

      public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)
      Specified by:
      process in interface org.apache.camel.AsyncProcessor
    • processAsync

      public CompletableFuture<org.apache.camel.Exchange> processAsync(org.apache.camel.Exchange exchange)
      Specified by:
      processAsync in interface org.apache.camel.AsyncProcessor
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • doStop

      protected void doStop() throws Exception
      Overrides:
      doStop in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • isSingleton

      public boolean isSingleton()
      Specified by:
      isSingleton in interface org.apache.camel.IsSingleton
    • getEndpoint

      public org.apache.camel.Endpoint getEndpoint()
      Specified by:
      getEndpoint in interface org.apache.camel.EndpointAware
    • toString

      public String toString()
      Overrides:
      toString in class Object