S
- the target ConsumerEndpointSpec
implementation type.H
- the target MessageHandler
implementation type.public abstract class ConsumerEndpointSpec<S extends ConsumerEndpointSpec<S,H>,H extends org.springframework.messaging.MessageHandler> extends EndpointSpec<S,ConsumerEndpointFactoryBean,H>
EndpointSpec
for consumer endpoints.Modifier and Type | Field and Description |
---|---|
protected java.util.List<org.aopalliance.aop.Advice> |
adviceChain |
componentsToRegister, endpointFactoryBean, handler
logger, PARSER, target
Modifier | Constructor and Description |
---|---|
protected |
ConsumerEndpointSpec(H messageHandler) |
Modifier and Type | Method and Description |
---|---|
S |
advice(org.aopalliance.aop.Advice... advice)
Configure a list of
Advice objects to be applied, in nested order, to the
endpoint's handler. |
S |
async(boolean async)
Allow async replies.
|
S |
autoStartup(boolean autoStartup) |
protected reactor.util.function.Tuple2<ConsumerEndpointFactoryBean,H> |
doGet() |
S |
notPropagatedHeaders(java.lang.String... headerPatterns)
Set header patterns ("xxx*", "*xxx", "*xxx*" or "xxx*yyy")
that will NOT be copied from the inbound message.
|
S |
order(int order) |
S |
phase(int phase) |
S |
poller(PollerMetadata pollerMetadata) |
S |
requiresReply(boolean requiresReply) |
S |
role(java.lang.String role)
Specify the role for the endpoint.
|
S |
sendTimeout(long sendTimeout) |
S |
taskScheduler(org.springframework.scheduling.TaskScheduler taskScheduler)
Configure a
TaskScheduler for scheduling tasks, for example in the
Polling Consumer. |
S |
transactional()
Specify a
TransactionInterceptor Advice with default
PlatformTransactionManager and DefaultTransactionAttribute for the
MessageHandler . |
S |
transactional(boolean handleMessageAdvice)
Specify a
TransactionInterceptor Advice with default
PlatformTransactionManager and DefaultTransactionAttribute for the
MessageHandler . |
S |
transactional(org.springframework.transaction.PlatformTransactionManager transactionManager)
Specify a
TransactionInterceptor Advice with the provided
PlatformTransactionManager and default DefaultTransactionAttribute
for the MessageHandler . |
S |
transactional(org.springframework.transaction.PlatformTransactionManager transactionManager,
boolean handleMessageAdvice)
Specify a
TransactionInterceptor Advice with the provided
PlatformTransactionManager and default DefaultTransactionAttribute
for the MessageHandler . |
S |
transactional(org.springframework.transaction.interceptor.TransactionInterceptor transactionInterceptor)
Specify a
TransactionInterceptor Advice for the MessageHandler . |
assertHandler, getComponentsToRegister, id, poller, poller
_this, get, getId, getObject, getObjectType, isSingleton
protected ConsumerEndpointSpec(H messageHandler)
public S phase(int phase)
phase
in class EndpointSpec<S extends ConsumerEndpointSpec<S,H>,ConsumerEndpointFactoryBean,H extends org.springframework.messaging.MessageHandler>
phase
- the phase.SmartLifecycle
public S autoStartup(boolean autoStartup)
autoStartup
in class EndpointSpec<S extends ConsumerEndpointSpec<S,H>,ConsumerEndpointFactoryBean,H extends org.springframework.messaging.MessageHandler>
autoStartup
- the autoStartup.SmartLifecycle
public S poller(PollerMetadata pollerMetadata)
poller
in class EndpointSpec<S extends ConsumerEndpointSpec<S,H>,ConsumerEndpointFactoryBean,H extends org.springframework.messaging.MessageHandler>
pollerMetadata
- the pollerMetadataAbstractPollingEndpoint
public S role(java.lang.String role)
EndpointSpec
role
in class EndpointSpec<S extends ConsumerEndpointSpec<S,H>,ConsumerEndpointFactoryBean,H extends org.springframework.messaging.MessageHandler>
role
- the role for this endpoint.SmartLifecycle
,
SmartLifecycleRoleController
public S taskScheduler(org.springframework.scheduling.TaskScheduler taskScheduler)
TaskScheduler
for scheduling tasks, for example in the
Polling Consumer. By default the global ThreadPoolTaskScheduler
bean is used.
This configuration is useful when there are requirements to dedicate particular threads
for polling task, for example.taskScheduler
- the TaskScheduler
to use.IntegrationContextUtils.getTaskScheduler(org.springframework.beans.factory.BeanFactory)
public S advice(org.aopalliance.aop.Advice... advice)
Advice
objects to be applied, in nested order, to the
endpoint's handler. The advice objects are applied only to the handler.advice
- the advice chain.public S transactional(org.springframework.transaction.PlatformTransactionManager transactionManager)
TransactionInterceptor
Advice
with the provided
PlatformTransactionManager
and default DefaultTransactionAttribute
for the MessageHandler
.transactionManager
- the PlatformTransactionManager
to use.public S transactional(org.springframework.transaction.PlatformTransactionManager transactionManager, boolean handleMessageAdvice)
TransactionInterceptor
Advice
with the provided
PlatformTransactionManager
and default DefaultTransactionAttribute
for the MessageHandler
.transactionManager
- the PlatformTransactionManager
to use.handleMessageAdvice
- the flag to indicate the target Advice
type:
false
- regular TransactionInterceptor
; true
-
TransactionHandleMessageAdvice
extension.public S transactional(org.springframework.transaction.interceptor.TransactionInterceptor transactionInterceptor)
TransactionInterceptor
Advice
for the MessageHandler
.transactionInterceptor
- the TransactionInterceptor
to use.TransactionInterceptorBuilder
public S transactional()
TransactionInterceptor
Advice
with default
PlatformTransactionManager
and DefaultTransactionAttribute
for the
MessageHandler
.public S transactional(boolean handleMessageAdvice)
TransactionInterceptor
Advice
with default
PlatformTransactionManager
and DefaultTransactionAttribute
for the
MessageHandler
.handleMessageAdvice
- the flag to indicate the target Advice
type:
false
- regular TransactionInterceptor
; true
-
TransactionHandleMessageAdvice
extension.public S requiresReply(boolean requiresReply)
requiresReply
- the requiresReply.AbstractReplyProducingMessageHandler.setRequiresReply(boolean)
public S sendTimeout(long sendTimeout)
sendTimeout
- the send timeout.AbstractMessageProducingHandler.setSendTimeout(long)
public S order(int order)
order
- the order.AbstractMessageHandler.setOrder(int)
public S async(boolean async)
org.springframework.util.concurrent.ListenableFuture
, send the output when
it is satisfied rather than sending the future as the result. Ignored for handler
return types other than
ListenableFuture
.async
- true to allow.AbstractMessageProducingHandler.setAsync(boolean)
public S notPropagatedHeaders(java.lang.String... headerPatterns)
headerPatterns
- the headers to not propagate from the inbound message.AbstractMessageProducingHandler.setNotPropagatedHeaders(String...)
protected reactor.util.function.Tuple2<ConsumerEndpointFactoryBean,H> doGet()
doGet
in class EndpointSpec<S extends ConsumerEndpointSpec<S,H>,ConsumerEndpointFactoryBean,H extends org.springframework.messaging.MessageHandler>