Package org.apache.camel.impl.engine
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.
-
-
Constructor Summary
Constructors Constructor Description DefaultFluentProducerTemplate(org.apache.camel.CamelContext context)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Future<Object>
asyncRequest()
<T> Future<T>
asyncRequest(Class<T> type)
Future<org.apache.camel.Exchange>
asyncSend()
void
cleanUp()
org.apache.camel.FluentProducerTemplate
clearAll()
org.apache.camel.FluentProducerTemplate
clearBody()
org.apache.camel.FluentProducerTemplate
clearHeaders()
protected void
doInit()
protected void
doShutdown()
protected void
doStart()
protected void
doStop()
org.apache.camel.CamelContext
getCamelContext()
int
getCurrentCacheSize()
org.apache.camel.Endpoint
getDefaultEndpoint()
int
getMaximumCacheSize()
boolean
isEventNotifierEnabled()
static org.apache.camel.FluentProducerTemplate
on(org.apache.camel.CamelContext context)
Create the FluentProducerTemplate by setting the camel contextstatic org.apache.camel.FluentProducerTemplate
on(org.apache.camel.CamelContext context, String endpoint)
Create the FluentProducerTemplate by setting the camel context and default endpointstatic 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 endpointstatic 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 endpointObject
request()
<T> T
request(Class<T> type)
org.apache.camel.Exchange
send()
void
setDefaultEndpoint(org.apache.camel.Endpoint defaultEndpoint)
void
setDefaultEndpointUri(String endpointUri)
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
withBody(Object body)
org.apache.camel.FluentProducerTemplate
withBodyAs(Object body, Class<?> type)
org.apache.camel.FluentProducerTemplate
withDefaultEndpoint(String endpointUri)
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
withHeader(String key, Object value)
org.apache.camel.FluentProducerTemplate
withHeaders(Map<String,Object> headers)
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)
-
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
-
-
-
-
Method Detail
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()
- Specified by:
getCamelContext
in interfaceorg.apache.camel.FluentProducerTemplate
-
getCurrentCacheSize
public int getCurrentCacheSize()
- Specified by:
getCurrentCacheSize
in interfaceorg.apache.camel.FluentProducerTemplate
-
cleanUp
public void cleanUp()
- Specified by:
cleanUp
in interfaceorg.apache.camel.FluentProducerTemplate
-
setDefaultEndpointUri
public void setDefaultEndpointUri(String endpointUri)
- Specified by:
setDefaultEndpointUri
in interfaceorg.apache.camel.FluentProducerTemplate
-
getDefaultEndpoint
public org.apache.camel.Endpoint getDefaultEndpoint()
- Specified by:
getDefaultEndpoint
in interfaceorg.apache.camel.FluentProducerTemplate
-
setDefaultEndpoint
public void setDefaultEndpoint(org.apache.camel.Endpoint defaultEndpoint)
- Specified by:
setDefaultEndpoint
in interfaceorg.apache.camel.FluentProducerTemplate
-
getMaximumCacheSize
public int getMaximumCacheSize()
- Specified by:
getMaximumCacheSize
in interfaceorg.apache.camel.FluentProducerTemplate
-
setMaximumCacheSize
public void setMaximumCacheSize(int maximumCacheSize)
- Specified by:
setMaximumCacheSize
in interfaceorg.apache.camel.FluentProducerTemplate
-
isEventNotifierEnabled
public boolean isEventNotifierEnabled()
- Specified by:
isEventNotifierEnabled
in interfaceorg.apache.camel.FluentProducerTemplate
-
setEventNotifierEnabled
public void setEventNotifierEnabled(boolean eventNotifierEnabled)
- Specified by:
setEventNotifierEnabled
in interfaceorg.apache.camel.FluentProducerTemplate
-
clearAll
public org.apache.camel.FluentProducerTemplate clearAll()
- Specified by:
clearAll
in interfaceorg.apache.camel.FluentProducerTemplate
-
withHeaders
public org.apache.camel.FluentProducerTemplate withHeaders(Map<String,Object> headers)
- Specified by:
withHeaders
in interfaceorg.apache.camel.FluentProducerTemplate
-
withHeader
public org.apache.camel.FluentProducerTemplate withHeader(String key, Object value)
- Specified by:
withHeader
in interfaceorg.apache.camel.FluentProducerTemplate
-
clearHeaders
public org.apache.camel.FluentProducerTemplate clearHeaders()
- Specified by:
clearHeaders
in interfaceorg.apache.camel.FluentProducerTemplate
-
withBody
public org.apache.camel.FluentProducerTemplate withBody(Object body)
- Specified by:
withBody
in interfaceorg.apache.camel.FluentProducerTemplate
-
withBodyAs
public org.apache.camel.FluentProducerTemplate withBodyAs(Object body, Class<?> type)
- Specified by:
withBodyAs
in interfaceorg.apache.camel.FluentProducerTemplate
-
clearBody
public org.apache.camel.FluentProducerTemplate clearBody()
- Specified by:
clearBody
in interfaceorg.apache.camel.FluentProducerTemplate
-
withDefaultEndpoint
public org.apache.camel.FluentProducerTemplate withDefaultEndpoint(String endpointUri)
- Specified by:
withDefaultEndpoint
in interfaceorg.apache.camel.FluentProducerTemplate
-
withDefaultEndpoint
public org.apache.camel.FluentProducerTemplate withDefaultEndpoint(org.apache.camel.EndpointProducerResolver resolver)
- Specified by:
withDefaultEndpoint
in interfaceorg.apache.camel.FluentProducerTemplate
-
withDefaultEndpoint
public org.apache.camel.FluentProducerTemplate withDefaultEndpoint(org.apache.camel.Endpoint endpoint)
- Specified by:
withDefaultEndpoint
in interfaceorg.apache.camel.FluentProducerTemplate
-
withTemplateCustomizer
public org.apache.camel.FluentProducerTemplate withTemplateCustomizer(Consumer<org.apache.camel.ProducerTemplate> templateCustomizer)
- Specified by:
withTemplateCustomizer
in interfaceorg.apache.camel.FluentProducerTemplate
-
withExchange
public org.apache.camel.FluentProducerTemplate withExchange(org.apache.camel.Exchange exchange)
- Specified by:
withExchange
in interfaceorg.apache.camel.FluentProducerTemplate
-
withExchange
public org.apache.camel.FluentProducerTemplate withExchange(Supplier<org.apache.camel.Exchange> exchangeSupplier)
- Specified by:
withExchange
in interfaceorg.apache.camel.FluentProducerTemplate
-
withProcessor
public org.apache.camel.FluentProducerTemplate withProcessor(org.apache.camel.Processor processor)
- Specified by:
withProcessor
in interfaceorg.apache.camel.FluentProducerTemplate
-
withProcessor
public org.apache.camel.FluentProducerTemplate withProcessor(Supplier<org.apache.camel.Processor> processorSupplier)
- Specified by:
withProcessor
in interfaceorg.apache.camel.FluentProducerTemplate
-
to
public org.apache.camel.FluentProducerTemplate to(String endpointUri)
- Specified by:
to
in interfaceorg.apache.camel.FluentProducerTemplate
-
to
public org.apache.camel.FluentProducerTemplate to(org.apache.camel.Endpoint endpoint)
- Specified by:
to
in interfaceorg.apache.camel.FluentProducerTemplate
-
request
public Object request() throws org.apache.camel.CamelExecutionException
- Specified by:
request
in interfaceorg.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 interfaceorg.apache.camel.FluentProducerTemplate
- Throws:
org.apache.camel.CamelExecutionException
-
asyncRequest
public Future<Object> asyncRequest()
- Specified by:
asyncRequest
in interfaceorg.apache.camel.FluentProducerTemplate
-
asyncRequest
public <T> Future<T> asyncRequest(Class<T> type)
- Specified by:
asyncRequest
in interfaceorg.apache.camel.FluentProducerTemplate
-
send
public org.apache.camel.Exchange send() throws org.apache.camel.CamelExecutionException
- Specified by:
send
in interfaceorg.apache.camel.FluentProducerTemplate
- Throws:
org.apache.camel.CamelExecutionException
-
asyncSend
public Future<org.apache.camel.Exchange> asyncSend()
- Specified by:
asyncSend
in interfaceorg.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 contextendpoint
- 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 contextresolver
- 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 contextendpoint
- the default endpoint- Returns:
- a new created instance of the fluent producer template
-
doInit
protected void doInit() throws Exception
- Overrides:
doInit
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
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
-
-