Class DefaultFluentProducerTemplate

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.impl.engine.DefaultFluentProducerTemplate
All Implemented Interfaces:
AutoCloseable, org.apache.camel.FluentProducerTemplate, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

public class DefaultFluentProducerTemplate extends org.apache.camel.support.service.ServiceSupport implements org.apache.camel.FluentProducerTemplate
This implementation is based on the usage pattern, that a top level DefaultFluentProducerTemplate instance is created as singleton and provided to the Camel end user (such as injected into a POJO).

The top level instance is then cloned once per message that is being built using the fluent method calls and then reset when the message has been sent.

Each cloned instance is not thread-safe as its assumed that its a single thread that calls the fluent method to build up the message to be sent.

  • 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
    DefaultFluentProducerTemplate(org.apache.camel.CamelContext context)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    <T> Future<T>
     
    Future<org.apache.camel.Exchange>
     
    void
     
    protected void
     
    protected void
     
    protected void
     
    protected void
     
    org.apache.camel.CamelContext
     
    int
     
    org.apache.camel.Endpoint
     
    int
     
    boolean
     
    static org.apache.camel.FluentProducerTemplate
    on(org.apache.camel.CamelContext context)
    Create the FluentProducerTemplate by setting the camel context
    static org.apache.camel.FluentProducerTemplate
    on(org.apache.camel.CamelContext context, String endpoint)
    Create the FluentProducerTemplate by setting the camel context and default endpoint
    static org.apache.camel.FluentProducerTemplate
    on(org.apache.camel.CamelContext context, org.apache.camel.Endpoint endpoint)
    Create the FluentProducerTemplate by setting the camel context and default endpoint
    static org.apache.camel.FluentProducerTemplate
    on(org.apache.camel.CamelContext context, org.apache.camel.EndpointProducerResolver resolver)
    Create the FluentProducerTemplate by setting the camel context and default endpoint
     
    <T> T
    request(Class<T> type)
     
    org.apache.camel.Exchange
     
    void
    setDefaultEndpoint(org.apache.camel.Endpoint defaultEndpoint)
     
    void
     
    void
    setEventNotifierEnabled(boolean eventNotifierEnabled)
     
    void
    setMaximumCacheSize(int maximumCacheSize)
     
    org.apache.camel.FluentProducerTemplate
    to(String endpointUri)
     
    org.apache.camel.FluentProducerTemplate
    to(org.apache.camel.Endpoint endpoint)
     
    org.apache.camel.FluentProducerTemplate
     
    org.apache.camel.FluentProducerTemplate
    withBodyAs(Object body, Class<?> type)
     
    org.apache.camel.FluentProducerTemplate
     
    org.apache.camel.FluentProducerTemplate
    withDefaultEndpoint(org.apache.camel.Endpoint endpoint)
     
    org.apache.camel.FluentProducerTemplate
    withDefaultEndpoint(org.apache.camel.EndpointProducerResolver resolver)
     
    org.apache.camel.FluentProducerTemplate
    withExchange(Supplier<org.apache.camel.Exchange> exchangeSupplier)
     
    org.apache.camel.FluentProducerTemplate
    withExchange(org.apache.camel.Exchange exchange)
     
    org.apache.camel.FluentProducerTemplate
     
    org.apache.camel.FluentProducerTemplate
     
    org.apache.camel.FluentProducerTemplate
    withHeader(String key, Object value)
     
    org.apache.camel.FluentProducerTemplate
     
    org.apache.camel.FluentProducerTemplate
    withProcessor(Supplier<org.apache.camel.Processor> processorSupplier)
     
    org.apache.camel.FluentProducerTemplate
    withProcessor(org.apache.camel.Processor processor)
     
    org.apache.camel.FluentProducerTemplate
    withTemplateCustomizer(Consumer<org.apache.camel.ProducerTemplate> templateCustomizer)
     
    org.apache.camel.FluentProducerTemplate
    withVariable(String key, Object value)
     
    org.apache.camel.FluentProducerTemplate
     

    Methods inherited from class org.apache.camel.support.service.BaseService

    build, doBuild, doFail, doLifecycleChange, doResume, 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, toString, wait, wait, wait

    Methods inherited from interface org.apache.camel.FluentProducerTemplate

    to, toF

    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

    • DefaultFluentProducerTemplate

      public DefaultFluentProducerTemplate(org.apache.camel.CamelContext context)
  • Method Details

    • getCamelContext

      public org.apache.camel.CamelContext getCamelContext()
      Specified by:
      getCamelContext in interface org.apache.camel.FluentProducerTemplate
    • getCurrentCacheSize

      public int getCurrentCacheSize()
      Specified by:
      getCurrentCacheSize in interface org.apache.camel.FluentProducerTemplate
    • cleanUp

      public void cleanUp()
      Specified by:
      cleanUp in interface org.apache.camel.FluentProducerTemplate
    • setDefaultEndpointUri

      public void setDefaultEndpointUri(String endpointUri)
      Specified by:
      setDefaultEndpointUri in interface org.apache.camel.FluentProducerTemplate
    • getDefaultEndpoint

      public org.apache.camel.Endpoint getDefaultEndpoint()
      Specified by:
      getDefaultEndpoint in interface org.apache.camel.FluentProducerTemplate
    • setDefaultEndpoint

      public void setDefaultEndpoint(org.apache.camel.Endpoint defaultEndpoint)
      Specified by:
      setDefaultEndpoint in interface org.apache.camel.FluentProducerTemplate
    • getMaximumCacheSize

      public int getMaximumCacheSize()
      Specified by:
      getMaximumCacheSize in interface org.apache.camel.FluentProducerTemplate
    • setMaximumCacheSize

      public void setMaximumCacheSize(int maximumCacheSize)
      Specified by:
      setMaximumCacheSize in interface org.apache.camel.FluentProducerTemplate
    • isEventNotifierEnabled

      public boolean isEventNotifierEnabled()
      Specified by:
      isEventNotifierEnabled in interface org.apache.camel.FluentProducerTemplate
    • setEventNotifierEnabled

      public void setEventNotifierEnabled(boolean eventNotifierEnabled)
      Specified by:
      setEventNotifierEnabled in interface org.apache.camel.FluentProducerTemplate
    • withHeaders

      public org.apache.camel.FluentProducerTemplate withHeaders(Map<String,Object> headers)
      Specified by:
      withHeaders in interface org.apache.camel.FluentProducerTemplate
    • withHeader

      public org.apache.camel.FluentProducerTemplate withHeader(String key, Object value)
      Specified by:
      withHeader in interface org.apache.camel.FluentProducerTemplate
    • withExchangeProperties

      public org.apache.camel.FluentProducerTemplate withExchangeProperties(Map<String,Object> properties)
      Specified by:
      withExchangeProperties in interface org.apache.camel.FluentProducerTemplate
    • withExchangeProperty

      public org.apache.camel.FluentProducerTemplate withExchangeProperty(String key, Object value)
      Specified by:
      withExchangeProperty in interface org.apache.camel.FluentProducerTemplate
    • withVariables

      public org.apache.camel.FluentProducerTemplate withVariables(Map<String,Object> variables)
      Specified by:
      withVariables in interface org.apache.camel.FluentProducerTemplate
    • withVariable

      public org.apache.camel.FluentProducerTemplate withVariable(String key, Object value)
      Specified by:
      withVariable in interface org.apache.camel.FluentProducerTemplate
    • withBody

      public org.apache.camel.FluentProducerTemplate withBody(Object body)
      Specified by:
      withBody in interface org.apache.camel.FluentProducerTemplate
    • withBodyAs

      public org.apache.camel.FluentProducerTemplate withBodyAs(Object body, Class<?> type)
      Specified by:
      withBodyAs in interface org.apache.camel.FluentProducerTemplate
    • withDefaultEndpoint

      public org.apache.camel.FluentProducerTemplate withDefaultEndpoint(String endpointUri)
      Specified by:
      withDefaultEndpoint in interface org.apache.camel.FluentProducerTemplate
    • withDefaultEndpoint

      public org.apache.camel.FluentProducerTemplate withDefaultEndpoint(org.apache.camel.EndpointProducerResolver resolver)
      Specified by:
      withDefaultEndpoint in interface org.apache.camel.FluentProducerTemplate
    • withDefaultEndpoint

      public org.apache.camel.FluentProducerTemplate withDefaultEndpoint(org.apache.camel.Endpoint endpoint)
      Specified by:
      withDefaultEndpoint in interface org.apache.camel.FluentProducerTemplate
    • withTemplateCustomizer

      public org.apache.camel.FluentProducerTemplate withTemplateCustomizer(Consumer<org.apache.camel.ProducerTemplate> templateCustomizer)
      Specified by:
      withTemplateCustomizer in interface org.apache.camel.FluentProducerTemplate
    • withExchange

      public org.apache.camel.FluentProducerTemplate withExchange(org.apache.camel.Exchange exchange)
      Specified by:
      withExchange in interface org.apache.camel.FluentProducerTemplate
    • withExchange

      public org.apache.camel.FluentProducerTemplate withExchange(Supplier<org.apache.camel.Exchange> exchangeSupplier)
      Specified by:
      withExchange in interface org.apache.camel.FluentProducerTemplate
    • withProcessor

      public org.apache.camel.FluentProducerTemplate withProcessor(org.apache.camel.Processor processor)
      Specified by:
      withProcessor in interface org.apache.camel.FluentProducerTemplate
    • withProcessor

      public org.apache.camel.FluentProducerTemplate withProcessor(Supplier<org.apache.camel.Processor> processorSupplier)
      Specified by:
      withProcessor in interface org.apache.camel.FluentProducerTemplate
    • to

      public org.apache.camel.FluentProducerTemplate to(String endpointUri)
      Specified by:
      to in interface org.apache.camel.FluentProducerTemplate
    • to

      public org.apache.camel.FluentProducerTemplate to(org.apache.camel.Endpoint endpoint)
      Specified by:
      to in interface org.apache.camel.FluentProducerTemplate
    • request

      public Object request() throws org.apache.camel.CamelExecutionException
      Specified by:
      request in interface org.apache.camel.FluentProducerTemplate
      Throws:
      org.apache.camel.CamelExecutionException
    • request

      public <T> T request(Class<T> type) throws org.apache.camel.CamelExecutionException
      Specified by:
      request in interface org.apache.camel.FluentProducerTemplate
      Throws:
      org.apache.camel.CamelExecutionException
    • asyncRequest

      public Future<Object> asyncRequest()
      Specified by:
      asyncRequest in interface org.apache.camel.FluentProducerTemplate
    • asyncRequest

      public <T> Future<T> asyncRequest(Class<T> type)
      Specified by:
      asyncRequest in interface org.apache.camel.FluentProducerTemplate
    • send

      public org.apache.camel.Exchange send() throws org.apache.camel.CamelExecutionException
      Specified by:
      send in interface org.apache.camel.FluentProducerTemplate
      Throws:
      org.apache.camel.CamelExecutionException
    • asyncSend

      public Future<org.apache.camel.Exchange> asyncSend()
      Specified by:
      asyncSend in interface org.apache.camel.FluentProducerTemplate
    • on

      public static org.apache.camel.FluentProducerTemplate on(org.apache.camel.CamelContext context)
      Create the FluentProducerTemplate by setting the camel context
      Parameters:
      context - the camel context
      Returns:
      a new created instance of the fluent producer template
    • on

      public static org.apache.camel.FluentProducerTemplate on(org.apache.camel.CamelContext context, org.apache.camel.Endpoint endpoint)
      Create the FluentProducerTemplate by setting the camel context and default endpoint
      Parameters:
      context - the camel context
      endpoint - the default endpoint
      Returns:
      a new created instance of the fluent producer template
    • on

      public static org.apache.camel.FluentProducerTemplate on(org.apache.camel.CamelContext context, org.apache.camel.EndpointProducerResolver resolver)
      Create the FluentProducerTemplate by setting the camel context and default endpoint
      Parameters:
      context - the camel context
      resolver - the default endpoint
      Returns:
      a new created instance of the fluent producer template
    • on

      public static org.apache.camel.FluentProducerTemplate on(org.apache.camel.CamelContext context, String endpoint)
      Create the FluentProducerTemplate by setting the camel context and default endpoint
      Parameters:
      context - the camel context
      endpoint - the default endpoint
      Returns:
      a new created instance of the fluent producer template
    • doInit

      protected void doInit() throws Exception
      Overrides:
      doInit in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • 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
    • doShutdown

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