Class DirectVmBlockingProducer

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultProducer
org.apache.camel.support.DefaultAsyncProducer
org.apache.camel.component.directvm.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
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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 class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    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 Details

    • DirectVmBlockingProducer

      public DirectVmBlockingProducer(DirectVmEndpoint endpoint)
  • Method Details

    • 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)
    • getConsumer

      protected DirectVmConsumer getConsumer(org.apache.camel.Exchange exchange) throws Exception
      Throws:
      Exception