org.apache.camel.model
Class IdempotentConsumerDefinition

java.lang.Object
  extended by org.apache.camel.model.OptionalIdentifiedDefinition
      extended by org.apache.camel.model.ProcessorDefinition<ExpressionNode>
          extended by org.apache.camel.model.ExpressionNode
              extended by org.apache.camel.model.IdempotentConsumerDefinition
All Implemented Interfaces:
Block

public class IdempotentConsumerDefinition
extends ExpressionNode

Represents an XML <idempotentConsumer/> element

Version:

Field Summary
 
Fields inherited from class org.apache.camel.model.ProcessorDefinition
errorHandlerBuilder, errorHandlerRef, inheritErrorHandler, log
 
Constructor Summary
IdempotentConsumerDefinition()
           
IdempotentConsumerDefinition(Expression messageIdExpression, IdempotentRepository<?> idempotentRepository)
           
 
Method Summary
 Processor createProcessor(RouteContext routeContext)
          Override this in definition class and implement logic to create the processor based on the definition model.
 IdempotentConsumerDefinition eager(boolean eager)
          Sets whether to eagerly add the key to the idempotent repository or wait until the exchange is complete.
 ExpressionClause<IdempotentConsumerDefinition> expression()
          Set the expression that the idempotent consumer will use
 Boolean getEager()
           
 IdempotentRepository<?> getMessageIdRepository()
           
 String getMessageIdRepositoryRef()
           
 String getShortName()
          Returns a short name for this node which can be useful for ID generation or referring to related resources like images
 boolean isEager()
           
 IdempotentConsumerDefinition messageIdRepository(IdempotentRepository<?> idempotentRepository)
          Sets the the message id repository for the idempotent consumer
 IdempotentConsumerDefinition messageIdRepositoryRef(String messageIdRepositoryRef)
          Sets the reference name of the message id repository
protected  IdempotentRepository<?> resolveMessageIdRepository(RouteContext routeContext)
          Strategy method to resolve the IdempotentRepository to use
 void setEager(Boolean eager)
           
 void setMessageIdRepository(IdempotentRepository<?> idempotentRepository)
           
 void setMessageIdRepositoryRef(String messageIdRepositoryRef)
           
 String toString()
           
 
Methods inherited from class org.apache.camel.model.ExpressionNode
createFilterProcessor, getExpression, getLabel, getOutputs, isOutputSupported, setExpression, setOutputs
 
Methods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategies, addInterceptStrategy, addOutput, addRoutes, aggregate, aggregate, aggregate, aggregate, aop, attribute, bean, bean, bean, bean, beanRef, beanRef, choice, clearOutput, configureChild, convertBodyTo, convertBodyTo, createChannel, createChildProcessor, createCompositeProcessor, createErrorHandlerBuilder, createOutputsProcessor, createOutputsProcessor, delay, delay, delay, doTry, dynamicRouter, dynamicRouter, end, endChoice, enrich, enrich, enrichRef, filter, filter, filter, filter, getErrorHandlerBuilder, getInterceptStrategies, getNodeFactory, getOtherAttributes, getParent, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, inOut, isAbstract, isInheritErrorHandler, loadBalance, loadBalance, log, log, log, loop, loop, loop, makeProcessor, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, onCompletion, onException, onException, pipeline, pipeline, pipeline, pipeline, placeholder, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichRef, process, processRef, recipientList, recipientList, recipientList, removeFaultHeader, removeHeader, removeHeaders, removeHeaders, removeProperty, resequence, resequence, resolveKnownConstantFields, resolvePropertyPlaceholders, rollback, rollback, routeId, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, sample, sample, sample, setBody, setBody, setErrorHandlerBuilder, setExchangePattern, setFaultBody, setFaultHeader, setHeader, setHeader, setInheritErrorHandler, setNodeFactory, setOtherAttributes, setOutHeader, setOutHeader, setParent, setProperty, setProperty, sort, sort, sort, split, split, split, stop, threads, threads, threads, throttle, throwException, to, to, to, to, to, to, to, to, to, to, toF, transacted, transacted, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wrapChannel, wrapInErrorHandler, wrapProcessor
 
Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
description, getDescription, getDescriptionText, getId, hasCustomIdAssigned, idOrCreate, setDescription, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IdempotentConsumerDefinition

public IdempotentConsumerDefinition()

IdempotentConsumerDefinition

public IdempotentConsumerDefinition(Expression messageIdExpression,
                                    IdempotentRepository<?> idempotentRepository)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

getShortName

public String getShortName()
Description copied from class: OptionalIdentifiedDefinition
Returns a short name for this node which can be useful for ID generation or referring to related resources like images

Overrides:
getShortName in class ExpressionNode
Returns:
defaults to "node" but derived nodes should overload this to provide a unique name

expression

public ExpressionClause<IdempotentConsumerDefinition> expression()
Set the expression that the idempotent consumer will use

Returns:
the builder

messageIdRepositoryRef

public IdempotentConsumerDefinition messageIdRepositoryRef(String messageIdRepositoryRef)
Sets the reference name of the message id repository

Parameters:
messageIdRepositoryRef - the reference name of message id repository
Returns:
builder

messageIdRepository

public IdempotentConsumerDefinition messageIdRepository(IdempotentRepository<?> idempotentRepository)
Sets the the message id repository for the idempotent consumer

Parameters:
idempotentRepository - the repository instance of idempotent
Returns:
builder

eager

public IdempotentConsumerDefinition eager(boolean eager)
Sets whether to eagerly add the key to the idempotent repository or wait until the exchange is complete. Eager is default enabled.

Parameters:
eager - true to add the key before processing, false to wait until the exchange is complete.
Returns:
builder

getMessageIdRepositoryRef

public String getMessageIdRepositoryRef()

setMessageIdRepositoryRef

public void setMessageIdRepositoryRef(String messageIdRepositoryRef)

getMessageIdRepository

public IdempotentRepository<?> getMessageIdRepository()

setMessageIdRepository

public void setMessageIdRepository(IdempotentRepository<?> idempotentRepository)

getEager

public Boolean getEager()

setEager

public void setEager(Boolean eager)

isEager

public boolean isEager()

createProcessor

public Processor createProcessor(RouteContext routeContext)
                          throws Exception
Description copied from class: ProcessorDefinition
Override this in definition class and implement logic to create the processor based on the definition model.

Overrides:
createProcessor in class ProcessorDefinition<ExpressionNode>
Throws:
Exception

resolveMessageIdRepository

protected IdempotentRepository<?> resolveMessageIdRepository(RouteContext routeContext)
Strategy method to resolve the IdempotentRepository to use

Parameters:
routeContext - route context
Returns:
the repository


Apache CAMEL