Class DirectVmBlockingProducer

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.AsyncProcessor, org.apache.camel.AsyncProducer, 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 DirectVmBlockingProducer
    extends org.apache.camel.support.DefaultAsyncProducer
    The direct producer.

    If blocking is enabled (DirectEndpoint#isBlock) then the DirectEndpoint will create an instance of this class instead of DirectProducer. This producers process method will block for the configured duration (DirectEndpoint#getTimeout, default to 30 seconds). After which if a consumer is still unavailable a DirectConsumerNotAvailableException will be thrown.

    Implementation note: Concurrent Producers will block for the duration it takes to determine if a consumer is available, but actual consumer execution will happen concurrently.

    • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected DirectVmConsumer getConsumer​(org.apache.camel.Exchange exchange)  
      void process​(org.apache.camel.Exchange exchange)  
      boolean process​(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback)  
      • Methods inherited from class org.apache.camel.support.DefaultAsyncProducer

        processAsync
      • Methods inherited from class org.apache.camel.support.DefaultProducer

        createExchange, doStart, doStop, getEndpoint, isSingleton, 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 interface org.apache.camel.EndpointAware

        getEndpoint
      • Methods inherited from interface org.apache.camel.IsSingleton

        isSingleton
      • 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 Detail

      • DirectVmBlockingProducer

        public DirectVmBlockingProducer​(DirectVmEndpoint endpoint)
    • Method Detail

      • process

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

        public boolean process​(org.apache.camel.Exchange exchange,
                               org.apache.camel.AsyncCallback callback)