|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.camel.support.ServiceSupport
org.apache.camel.impl.ProducerCache
public class ProducerCache
Cache containing created Producer
.
Field Summary |
---|
Fields inherited from class org.apache.camel.support.ServiceSupport |
---|
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending |
Constructor Summary | |
---|---|
ProducerCache(Object source,
CamelContext camelContext)
|
|
ProducerCache(Object source,
CamelContext camelContext,
int cacheSize)
|
|
ProducerCache(Object source,
CamelContext camelContext,
Map<String,Producer> cache)
|
|
ProducerCache(Object source,
CamelContext camelContext,
ServicePool<Endpoint,Producer> producerServicePool,
Map<String,Producer> cache)
|
Method Summary | ||
---|---|---|
Producer |
acquireProducer(Endpoint endpoint)
Acquires a pooled producer which you must release back again after usage using the releaseProducer(org.apache.camel.Endpoint, org.apache.camel.Producer) method. |
|
protected static LRUCache<String,Producer> |
createLRUCache(int cacheSize)
Creates the LRUCache to be used. |
|
protected Producer |
doGetProducer(Endpoint endpoint,
boolean pooled)
|
|
boolean |
doInAsyncProducer(Endpoint endpoint,
Exchange exchange,
ExchangePattern pattern,
AsyncCallback callback,
AsyncProducerCallback producerCallback)
Sends an exchange to an endpoint using a supplied callback supporting the asynchronous routing engine. |
|
|
doInProducer(Endpoint endpoint,
Exchange exchange,
ExchangePattern pattern,
ProducerCallback<T> callback)
Sends an exchange to an endpoint using a supplied callback, using the synchronous processing. |
|
protected void |
doStart()
Implementations override this method to support customized start/stop. |
|
protected void |
doStop()
Implementations override this method to support customized start/stop. |
|
CamelContext |
getCamelContext()
|
|
int |
getCapacity()
Gets the maximum cache size (capacity). |
|
long |
getEvicted()
Gets the cache evicted statistic Will return -1 if it cannot determine this if a custom cache was used. |
|
long |
getHits()
Gets the cache hits statistic Will return -1 if it cannot determine this if a custom cache was used. |
|
long |
getMisses()
Gets the cache misses statistic Will return -1 if it cannot determine this if a custom cache was used. |
|
Object |
getSource()
Gets the source which uses this cache |
|
void |
purge()
Purges this cache |
|
void |
releaseProducer(Endpoint endpoint,
Producer producer)
Releases an acquired producer back after usage. |
|
void |
resetCacheStatistics()
Resets the cache statistics |
|
void |
send(Endpoint endpoint,
Exchange exchange)
Sends the exchange to the given endpoint. |
|
Exchange |
send(Endpoint endpoint,
ExchangePattern pattern,
Processor processor)
Sends an exchange to an endpoint using a supplied Processor to populate the exchange |
|
Exchange |
send(Endpoint endpoint,
Processor processor)
Sends an exchange to an endpoint using a supplied Processor to populate the exchange |
|
protected Exchange |
sendExchange(Endpoint endpoint,
ExchangePattern pattern,
Processor processor,
Exchange exchange)
|
|
int |
size()
Returns the current size of the cache |
|
void |
startProducer(Endpoint endpoint)
Starts the Producer to be used for sending to the given endpoint
This can be used to early start the Producer to ensure it can be created,
such as when Camel is started. |
|
String |
toString()
|
Methods inherited from class org.apache.camel.support.ServiceSupport |
---|
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public ProducerCache(Object source, CamelContext camelContext)
public ProducerCache(Object source, CamelContext camelContext, int cacheSize)
public ProducerCache(Object source, CamelContext camelContext, Map<String,Producer> cache)
public ProducerCache(Object source, CamelContext camelContext, ServicePool<Endpoint,Producer> producerServicePool, Map<String,Producer> cache)
Method Detail |
---|
protected static LRUCache<String,Producer> createLRUCache(int cacheSize)
LRUCache
to be used.
This implementation returns a LRUCache
instance.
cacheSize
- the cache size
public CamelContext getCamelContext()
public Object getSource()
public Producer acquireProducer(Endpoint endpoint)
releaseProducer(org.apache.camel.Endpoint, org.apache.camel.Producer)
method.
endpoint
- the endpoint
public void releaseProducer(Endpoint endpoint, Producer producer) throws Exception
endpoint
- the endpointproducer
- the producer to release
Exception
- can be thrown if error stopping producer if that was needed.public void startProducer(Endpoint endpoint) throws Exception
Producer
to be used for sending to the given endpoint
This can be used to early start the Producer
to ensure it can be created,
such as when Camel is started. This allows to fail fast in case the Producer
could not be started.
endpoint
- the endpoint to send the exchange to
Exception
- is thrown if failed to create or start the Producer
public void send(Endpoint endpoint, Exchange exchange)
This method will not throw an exception. If processing of the given Exchange failed then the exception is stored on the provided Exchange
endpoint
- the endpoint to send the exchange toexchange
- the exchange to sendpublic Exchange send(Endpoint endpoint, Processor processor)
Processor
to populate the exchange
This method will not throw an exception. If processing of the given Exchange failed then the exception is stored on the return Exchange
endpoint
- the endpoint to send the exchange toprocessor
- the transformer used to populate the new exchange
CamelExecutionException
- is thrown if sending failedpublic Exchange send(Endpoint endpoint, ExchangePattern pattern, Processor processor)
Processor
to populate the exchange
This method will not throw an exception. If processing of the given Exchange failed then the exception is stored on the return Exchange
endpoint
- the endpoint to send the exchange topattern
- the message ExchangePattern
such as
ExchangePattern.InOnly
or ExchangePattern.InOut
processor
- the transformer used to populate the new exchange
public <T> T doInProducer(Endpoint endpoint, Exchange exchange, ExchangePattern pattern, ProducerCallback<T> callback)
endpoint
- the endpoint to send the exchange toexchange
- the exchange, can be null if so then create a new exchange from the producerpattern
- the exchange pattern, can be nullcallback
- the callback
doInAsyncProducer(org.apache.camel.Endpoint, org.apache.camel.Exchange, org.apache.camel.ExchangePattern, org.apache.camel.AsyncCallback, org.apache.camel.AsyncProducerCallback)
public boolean doInAsyncProducer(Endpoint endpoint, Exchange exchange, ExchangePattern pattern, AsyncCallback callback, AsyncProducerCallback producerCallback)
endpoint
- the endpoint to send the exchange toexchange
- the exchange, can be null if so then create a new exchange from the producerpattern
- the exchange pattern, can be nullcallback
- the asynchronous callbackproducerCallback
- the producer template callback to be executed
protected Exchange sendExchange(Endpoint endpoint, ExchangePattern pattern, Processor processor, Exchange exchange)
protected Producer doGetProducer(Endpoint endpoint, boolean pooled)
protected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.
doStart
in class ServiceSupport
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.
doStop
in class ServiceSupport
Exception
ServiceSupport.doStart()
public int size()
public int getCapacity()
public long getHits()
public long getMisses()
public long getEvicted()
public void resetCacheStatistics()
public void purge()
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |