Class AmqpClientInboundChannelAdapterSpec
java.lang.Object
org.springframework.integration.dsl.IntegrationComponentSpec<AmqpClientInboundChannelAdapterSpec, AmqpClientMessageProducer>
org.springframework.integration.dsl.MessageProducerSpec<AmqpClientInboundChannelAdapterSpec, AmqpClientMessageProducer>
org.springframework.integration.amqp.dsl.AmqpClientInboundChannelAdapterSpec
- All Implemented Interfaces:
DisposableBean,FactoryBean<AmqpClientMessageProducer>,InitializingBean,Lifecycle,Phased,SmartLifecycle
public class AmqpClientInboundChannelAdapterSpec
extends MessageProducerSpec<AmqpClientInboundChannelAdapterSpec, AmqpClientMessageProducer>
Spec for an
AmqpClientMessageProducer.- Since:
- 7.0
- Author:
- Artem Bilan
-
Field Summary
Fields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
logger, PARSER, targetFields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTEFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
ConstructorsConstructorDescriptionAmqpClientInboundChannelAdapterSpec(org.springframework.amqp.rabbitmq.client.AmqpConnectionFactory connectionFactory, String... queueNames) Create an instance based on aAmqpConnectionFactoryand queues to consume from. -
Method Summary
Modifier and TypeMethodDescriptionadviceChain(Advice... advices) SetAdviceinstances to proxy message listener.afterReceivePostProcessors(MessagePostProcessor... afterReceivePostProcessors) AddMessagePostProcessorinstances to apply on just received messages.autoSettle(boolean autoSettle) Set tofalseto propagate an acknowledgement callback into message headers for downstream flow manual settlement.batchReceiveTimeout(long batchReceiveTimeout) Set a timeout in milliseconds for how long a batch gathering process should go.batchSize(int batchSize) Set a number of AMQP messages to gather before producing as a single message downstream.consumersPerQueue(int consumersPerQueue) Each queue runs in its own consumer; set this property to create multiple consumers for each queue.defaultRequeue(boolean defaultRequeue) Set the default behavior when a message processing has failed.gracefulShutdownPeriod(Duration gracefulShutdownPeriod) Set a duration for how long to wait for all the consumers to shut down successfully on listener container stop.headerMapper(AmqpHeaderMapper headerMapper) Set anAmqpHeaderMapperto map request headers.initialCredits(int initialCredits) The initial number credits to grant to the AMQP receiver.messageConverter(@Nullable MessageConverter messageConverter) Set aMessageConverterto replace the defaultSimpleMessageConverter.priority(int priority) The consumer priority.stateListeners(com.rabbitmq.client.amqp.Resource.StateListener... stateListeners) AddResource.StateListenerinstances to the consumer.taskScheduler(TaskScheduler taskScheduler) Set aTaskSchedulerfor monitoring batch releases.Methods inherited from class org.springframework.integration.dsl.MessageProducerSpec
autoStartup, errorChannel, errorChannel, errorMessageStrategy, id, observationConvention, outputChannel, outputChannel, phase, role, sendTimeout, shouldTrackMethods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, afterPropertiesSet, destroy, doGet, getId, getObject, getObjectType, getPhase, isAutoStartup, isRunning, start, stop, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.beans.factory.FactoryBean
isSingletonMethods inherited from interface org.springframework.context.SmartLifecycle
isPauseable
-
Constructor Details
-
AmqpClientInboundChannelAdapterSpec
public AmqpClientInboundChannelAdapterSpec(org.springframework.amqp.rabbitmq.client.AmqpConnectionFactory connectionFactory, String... queueNames) Create an instance based on aAmqpConnectionFactoryand queues to consume from.- Parameters:
connectionFactory- theAmqpConnectionFactoryto connectqueueNames- queues to consume from
-
-
Method Details
-
initialCredits
The initial number credits to grant to the AMQP receiver. The default is100.- Parameters:
initialCredits- number of initial credits- Returns:
- the spec
-
priority
The consumer priority.- Parameters:
priority- consumer priority- Returns:
- the spec
-
stateListeners
public AmqpClientInboundChannelAdapterSpec stateListeners(com.rabbitmq.client.amqp.Resource.StateListener... stateListeners) AddResource.StateListenerinstances to the consumer.- Parameters:
stateListeners- listeners to add- Returns:
- the spec
-
afterReceivePostProcessors
public AmqpClientInboundChannelAdapterSpec afterReceivePostProcessors(MessagePostProcessor... afterReceivePostProcessors) AddMessagePostProcessorinstances to apply on just received messages.- Parameters:
afterReceivePostProcessors- listeners to add- Returns:
- the spec
-
batchSize
Set a number of AMQP messages to gather before producing as a single message downstream. Default 1 - no batching.- Parameters:
batchSize- the batch size to use.- Returns:
- the spec
- See Also:
-
batchReceiveTimeout
Set a timeout in milliseconds for how long a batch gathering process should go. Therefore, the batch is released as a single message whatever first happens: this timeout orbatchSize(int). Default 30 seconds.- Parameters:
batchReceiveTimeout- the timeout for gathering a batch.- Returns:
- the spec
-
taskScheduler
Set aTaskSchedulerfor monitoring batch releases.- Parameters:
taskScheduler- the taskScheduler to use- Returns:
- the spec
-
adviceChain
SetAdviceinstances to proxy message listener.- Parameters:
advices- the advices to add- Returns:
- the spec
-
autoSettle
Set tofalseto propagate an acknowledgement callback into message headers for downstream flow manual settlement.- Parameters:
autoSettle-trueto acknowledge messages automatically.- Returns:
- the spec
-
defaultRequeue
Set the default behavior when a message processing has failed. When true, messages will be requeued, when false, they will be discarded. This option can be overruled by throwingAmqpRejectAndDontRequeueExceptionorImmediateRequeueAmqpExceptionfrom the downstream flow. Default true.- Parameters:
defaultRequeue- true to requeue by default.- Returns:
- the spec
-
gracefulShutdownPeriod
Set a duration for how long to wait for all the consumers to shut down successfully on listener container stop. Default 30 seconds.- Parameters:
gracefulShutdownPeriod- the timeout to wait on stop.- Returns:
- the spec
-
consumersPerQueue
Each queue runs in its own consumer; set this property to create multiple consumers for each queue. Can be treated asconcurrency, but per queue.- Parameters:
consumersPerQueue- the consumers per queue.- Returns:
- the spec
-
messageConverter
public AmqpClientInboundChannelAdapterSpec messageConverter(@Nullable MessageConverter messageConverter) Set aMessageConverterto replace the defaultSimpleMessageConverter. If set to null, an AMQP message is sent as is into a message payload. And a reply message has to return an AMQP message as its payload.- Parameters:
messageConverter- theMessageConverterto use or null.- Returns:
- the spec
-
headerMapper
Set anAmqpHeaderMapperto map request headers.- Parameters:
headerMapper- theAmqpHeaderMapperto use.- Returns:
- the spec
-