|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.camel.impl.ServiceSupport org.apache.camel.processor.idempotent.IdempotentConsumer
public class IdempotentConsumer
An implementation of the Idempotent Consumer pattern.
Constructor Summary | |
---|---|
IdempotentConsumer(Expression messageIdExpression,
IdempotentRepository<String> idempotentRepository,
boolean eager,
boolean skipDuplicate,
Processor processor)
|
Method Summary | |
---|---|
protected void |
doStart()
|
protected void |
doStop()
|
IdempotentRepository<String> |
getIdempotentRepository()
|
Expression |
getMessageIdExpression()
|
Processor |
getProcessor()
|
boolean |
hasNext()
Are there more outputs? |
List<Processor> |
next()
Next group of outputs |
protected void |
onDuplicateMessage(Exchange exchange,
String messageId)
A strategy method to allow derived classes to overload the behaviour of processing a duplicate message |
void |
process(Exchange exchange)
Processes the message exchange |
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange. |
String |
toString()
|
Methods inherited from class org.apache.camel.impl.ServiceSupport |
---|
addChildService, doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public IdempotentConsumer(Expression messageIdExpression, IdempotentRepository<String> idempotentRepository, boolean eager, boolean skipDuplicate, Processor processor)
Method Detail |
---|
public String toString()
toString
in class Object
public void process(Exchange exchange) throws Exception
Processor
process
in interface Processor
exchange
- the message exchange
Exception
- if an internal processing error has occurred.public boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessor
Processor.process(org.apache.camel.Exchange)
, but the caller supports having the exchange asynchronously processed.
If there was a failure processing then the caused Exception
would be set on the Exchange
.
process
in interface AsyncProcessor
exchange
- the message exchangecallback
- the AsyncCallback
will be invoked when the processing of the exchange is completed.
If the exchange is completed synchronously, then the callback is also invoked synchronously.
The callback should therefore be careful of starting recursive loop.
AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)
public List<Processor> next()
Navigate
next
in interface Navigate<Processor>
public boolean hasNext()
Navigate
hasNext
in interface Navigate<Processor>
public Expression getMessageIdExpression()
public IdempotentRepository<String> getIdempotentRepository()
public Processor getProcessor()
protected void doStart() throws Exception
doStart
in class ServiceSupport
Exception
protected void doStop() throws Exception
doStop
in class ServiceSupport
Exception
protected void onDuplicateMessage(Exchange exchange, String messageId)
exchange
- the exchangemessageId
- the message ID of this exchange
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |