Package org.apache.camel
Interface ConsumerTemplate
- All Superinterfaces:
AutoCloseable
,Service
Template for working with Camel and consuming
This template is an implementation of the Polling Consumer EIP. This is not the Event Driven Consumer EIP.
The
All methods throws
Message
instances in an Exchange
from an
Endpoint
. This template is an implementation of the Polling Consumer EIP. This is not the Event Driven Consumer EIP.
The
ConsumerTemplate
is thread safe. All methods throws
RuntimeCamelException
if consuming of the Exchange
failed and an Exception
occurred. The getCause method on RuntimeCamelException
returns the wrapper original caused
exception.
Before using the template it must be started. And when you are done using the template, make sure to Service.stop()
the template.
Important note on usage: See this
FAQ entry before
using, it applies to this ConsumerTemplate
as well.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanUp()
Cleanup the cache (purging stale entries)void
Get theCamelContext
int
Gets an approximated size of the current cached resources in the backing cache pools.int
Gets the maximum cache size used.Receives from the endpoint, waiting until there is a responseReceives from the endpoint, waiting until there is a response or the timeout occursReceives from the endpoint, waiting until there is a response.Receives from the endpoint, waiting until there is a response or the timeout occursreceiveBody
(String endpointUri) Receives from the endpoint, waiting until there is a responsereceiveBody
(String endpointUri, long timeout) Receives from the endpoint, waiting until there is a response or the timeout occurs<T> T
receiveBody
(String endpointUri, long timeout, Class<T> type) Receives from the endpoint, waiting until there is a response or the timeout occurs<T> T
receiveBody
(String endpointUri, Class<T> type) Receives from the endpoint, waiting until there is a responsereceiveBody
(Endpoint endpoint) Receives from the endpoint, waiting until there is a responsereceiveBody
(Endpoint endpoint, long timeout) Receives from the endpoint, waiting until there is a response or the timeout occurs<T> T
receiveBody
(Endpoint endpoint, long timeout, Class<T> type) Receives from the endpoint, waiting until there is a response or the timeout occurs<T> T
receiveBody
(Endpoint endpoint, Class<T> type) Receives from the endpoint, waiting until there is a responsereceiveBodyNoWait
(String endpointUri) Receives from the endpoint, not waiting for a response if non exists.<T> T
receiveBodyNoWait
(String endpointUri, Class<T> type) Receives from the endpoint, not waiting for a response if non exists.receiveBodyNoWait
(Endpoint endpoint) Receives from the endpoint, not waiting for a response if non exists.<T> T
receiveBodyNoWait
(Endpoint endpoint, Class<T> type) Receives from the endpoint, not waiting for a response if non exists.receiveNoWait
(String endpointUri) Receives from the endpoint, not waiting for a response if non exists.receiveNoWait
(Endpoint endpoint) Receives from the endpoint, not waiting for a response if non exists.void
setMaximumCacheSize
(int maximumCacheSize) Sets a custom maximum cache size.
-
Method Details
-
getCamelContext
CamelContext getCamelContext()Get theCamelContext
- Returns:
- camelContext the Camel context
-
getMaximumCacheSize
int getMaximumCacheSize()Gets the maximum cache size used.- Returns:
- the maximum cache size
-
setMaximumCacheSize
void setMaximumCacheSize(int maximumCacheSize) Sets a custom maximum cache size.- Parameters:
maximumCacheSize
- the custom maximum cache size
-
getCurrentCacheSize
int getCurrentCacheSize()Gets an approximated size of the current cached resources in the backing cache pools.- Returns:
- the size of current cached resources
-
cleanUp
void cleanUp()Cleanup the cache (purging stale entries) -
receive
Receives from the endpoint, waiting until there is a response Important: SeedoneUoW(Exchange)
- Parameters:
endpointUri
- the endpoint to receive from- Returns:
- the returned exchange
-
receive
Receives from the endpoint, waiting until there is a response. Important: SeedoneUoW(Exchange)
- Parameters:
endpoint
- the endpoint to receive from- Returns:
- the returned exchange
- See Also:
-
receive
Receives from the endpoint, waiting until there is a response or the timeout occurs Important: SeedoneUoW(Exchange)
- Parameters:
endpointUri
- the endpoint to receive fromtimeout
- timeout in millis to wait for a response- Returns:
- the returned exchange, or null if no response
- See Also:
-
receive
Receives from the endpoint, waiting until there is a response or the timeout occurs Important: SeedoneUoW(Exchange)
- Parameters:
endpoint
- the endpoint to receive fromtimeout
- timeout in millis to wait for a response- Returns:
- the returned exchange, or null if no response
- See Also:
-
receiveNoWait
Receives from the endpoint, not waiting for a response if non exists. Important: SeedoneUoW(Exchange)
- Parameters:
endpointUri
- the endpoint to receive from- Returns:
- the returned exchange, or null if no response
-
receiveNoWait
Receives from the endpoint, not waiting for a response if non exists. Important: SeedoneUoW(Exchange)
- Parameters:
endpoint
- the endpoint to receive from- Returns:
- the returned exchange, or null if no response
-
receiveBody
Receives from the endpoint, waiting until there is a response- Parameters:
endpointUri
- the endpoint to receive from- Returns:
- the returned response body
-
receiveBody
Receives from the endpoint, waiting until there is a response- Parameters:
endpoint
- the endpoint to receive from- Returns:
- the returned response body
-
receiveBody
Receives from the endpoint, waiting until there is a response or the timeout occurs- Parameters:
endpointUri
- the endpoint to receive fromtimeout
- timeout in millis to wait for a response- Returns:
- the returned response body, or null if no response
-
receiveBody
Receives from the endpoint, waiting until there is a response or the timeout occurs- Parameters:
endpoint
- the endpoint to receive fromtimeout
- timeout in millis to wait for a response- Returns:
- the returned response body, or null if no response
-
receiveBodyNoWait
Receives from the endpoint, not waiting for a response if non exists.- Parameters:
endpointUri
- the endpoint to receive from- Returns:
- the returned response body, or null if no response
-
receiveBodyNoWait
Receives from the endpoint, not waiting for a response if non exists.- Parameters:
endpoint
- the endpoint to receive from- Returns:
- the returned response body, or null if no response
-
receiveBody
Receives from the endpoint, waiting until there is a response- Parameters:
endpointUri
- the endpoint to receive fromtype
- the expected response type- Returns:
- the returned response body
-
receiveBody
Receives from the endpoint, waiting until there is a response- Parameters:
endpoint
- the endpoint to receive fromtype
- the expected response type- Returns:
- the returned response body
-
receiveBody
Receives from the endpoint, waiting until there is a response or the timeout occurs- Parameters:
endpointUri
- the endpoint to receive fromtimeout
- timeout in millis to wait for a responsetype
- the expected response type- Returns:
- the returned response body, or null if no response
-
receiveBody
Receives from the endpoint, waiting until there is a response or the timeout occurs- Parameters:
endpoint
- the endpoint to receive fromtimeout
- timeout in millis to wait for a responsetype
- the expected response type- Returns:
- the returned response body, or null if no response
-
receiveBodyNoWait
Receives from the endpoint, not waiting for a response if non exists.- Parameters:
endpointUri
- the endpoint to receive fromtype
- the expected response type- Returns:
- the returned response body, or null if no response
-
receiveBodyNoWait
Receives from the endpoint, not waiting for a response if non exists.- Parameters:
endpoint
- the endpoint to receive fromtype
- the expected response type- Returns:
- the returned response body, or null if no response
-
doneUoW
If you have used any of the receive methods which returns aExchange
type then you need to invoke this method when you are done using the returnedExchange
. This is needed to ensure anySynchronization
works is being executed. For example if you consumed from a file endpoint, then the consumed file is only moved/delete when you done theExchange
. Note for all the other receive methods which does not return aExchange
type, the done has been executed automatic by Camel itself.- Parameters:
exchange
- the exchange
-