public final class DelayerEndpointSpec extends ConsumerEndpointSpec<DelayerEndpointSpec,DelayHandler>
ConsumerEndpointSpec for a DelayHandler.adviceChaincomponentsToRegister, endpointFactoryBean, handlerPARSER, targetloggerDEFAULT_PHASEOBJECT_TYPE_ATTRIBUTEadvice, async, autoStartup, doGet, notPropagatedHeaders, order, phase, poller, requiresReply, role, sendTimeout, taskScheduler, transactional, transactional, transactional, transactional, transactional, transactional, transactionalassertHandler, getComponentsToRegister, id, obtainInputChannelFromFlow, obtainInputChannelFromFlow, poller, poller_this, createInstance, destroyInstance, get, getId, getObjectType, getPhase, isAutoStartup, isRunning, start, stop, stopafterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingletonpublic DelayerEndpointSpec defaultDelay(long defaultDelay)
defaultDelay - the defaultDelay.DelayHandler.setDefaultDelay(long)public DelayerEndpointSpec ignoreExpressionFailures(boolean ignoreExpressionFailures)
ignoreExpressionFailures - the ignoreExpressionFailures.DelayHandler.setIgnoreExpressionFailures(boolean)public DelayerEndpointSpec messageStore(MessageGroupStore messageStore)
messageStore - the message store.public DelayerEndpointSpec delayedAdvice(Advice... advice)
Advice objects that will be applied, in nested order,
when delayed messages are sent.advice - the advice chain.public DelayerEndpointSpec delayExpression(Expression delayExpression)
public DelayerEndpointSpec delayExpression(String delayExpression)
public DelayerEndpointSpec delayedMessageErrorChannel(MessageChannel channel)
ErrorMessage will be sent if sending the
released message fails. If the error flow returns normally, the release is complete.
If the error flow throws an exception, the release will be re-attempted.
If there is a transaction advice on the release task, the error flow is called
within the transaction.channel - the channel.maxAttempts(int),
retryDelay(long)public DelayerEndpointSpec delayedMessageErrorChannel(String channel)
ErrorMessage will be sent if sending
the released message fails. If the error flow returns normally, the release is
complete. If the error flow throws an exception, the release will be re-attempted.
If there is a transaction advice on the release task, the error flow is called
within the transaction.channel - the channel name.maxAttempts(int),
retryDelay(long)public DelayerEndpointSpec maxAttempts(int maxAttempts)
maxAttempts - the max attempts.retryDelay(long)public DelayerEndpointSpec retryDelay(long retryDelay)
retryDelay - the retry delay.maxAttempts(int)public DelayerEndpointSpec transactionalRelease()
TransactionInterceptor Advice with default
PlatformTransactionManager and
DefaultTransactionAttribute for
the
MessageHandler.public DelayerEndpointSpec transactionalRelease(TransactionInterceptor transactionInterceptor)
transactionInterceptor - the TransactionInterceptor to use.TransactionInterceptorBuilder@Deprecated public DelayerEndpointSpec transactionalRelease(PlatformTransactionManager transactionManager)
transactionalRelease(TransactionManager)TransactionInterceptor Advice with the provided
PlatformTransactionManager and default
DefaultTransactionAttribute
for the MessageHandler.transactionManager - the PlatformTransactionManager to use.public DelayerEndpointSpec transactionalRelease(TransactionManager transactionManager)
TransactionInterceptor Advice with the provided
TransactionManager and default
DefaultTransactionAttribute
for the MessageHandler.transactionManager - the TransactionManager to use.public <P> DelayerEndpointSpec delayFunction(java.util.function.Function<Message<P>,Object> delayFunction)
Message.
Typically used with a Java 8 Lambda expression:
.<Foo>delay("delayer", m -> m.getPayload().getDate(),
c -> c.advice(this.delayedAdvice).messageStore(this.messageStore()))
P - the payload type.delayFunction - the Function to determine delay.