ackTimeout (不适用)spring-doc.cadn.net.cn
|
什么时候messagesPerAck 设置了 TIMEOUT 时,此 timeout 将用作发送 ACK 的替代方法。
当新消息到达时,将未确认的消息计数与messagesPerAck ,并将自上次 ACK 以来的时间与此值进行比较。
如果任一条件为true ,则消息将被确认。
当没有新消息到达并且有未确认的消息时,此超时是近似值,因为仅检查每个条件monitorInterval .
另请参阅messagesPerAck 和monitorInterval 在此表中。spring-doc.cadn.net.cn |
|
|
|
acknowledgeMode (确认)spring-doc.cadn.net.cn
|
-
NONE :不发送确认(不兼容channelTransacted=true ).
RabbitMQ 将此称为“autoack”,因为代理假定所有消息都已确认,而无需使用者执行任何作。spring-doc.cadn.net.cn
-
MANUAL :侦听器必须通过调用Channel.basicAck() .spring-doc.cadn.net.cn
-
AUTO :容器会自动确认消息,除非MessageListener 引发异常。
请注意,acknowledgeMode 是对channelTransacted — 如果通道是事务处理的,则 broker 除了需要 ACK 之外,还需要提交通知。
这是默认模式。
另请参阅batchSize .spring-doc.cadn.net.cn
|
|
|
|
adviceChain (建议链)spring-doc.cadn.net.cn
|
应用于侦听器执行的 AOP Advice 数组。
这可用于应用其他横切关注点,例如在 broker 死亡时自动重试。
请注意,在 AMQP 错误之后的简单重新连接由CachingConnectionFactory ,只要 broker 还活着。spring-doc.cadn.net.cn |
|
|
|
afterReceivePostProcessors (不适用)spring-doc.cadn.net.cn
|
一个MessagePostProcessor 在调用侦听器之前调用的实例。
后处理器可以实现PriorityOrdered 或Ordered .
数组使用最后调用的无序成员进行排序。
如果后处理器返回null ,则消息将被丢弃(并确认,如果适用)。spring-doc.cadn.net.cn |
|
|
|
alwaysRequeueWithTxManagerRollback (不适用)spring-doc.cadn.net.cn
|
设置为true 在配置事务管理器时,始终在 rollback 上对消息重新排队。spring-doc.cadn.net.cn |
|
|
|
autoDeclare (自动声明)spring-doc.cadn.net.cn
|
当设置为true (默认),容器使用RabbitAdmin 重新声明所有 AMQP 对象(队列、交换、绑定),如果它在启动期间检测到至少一个队列丢失,可能是因为它是一个auto-delete 或过期的队列,但如果队列因任何原因丢失,则重新声明将继续。
要禁用此行为,请将此属性设置为false .
请注意,如果容器的所有队列都缺失,则容器将无法启动。spring-doc.cadn.net.cn
|
在版本 1.6 之前,如果上下文中有多个 admin,则容器将随机选择一个。
如果没有管理员,它将在内部创建一个管理员。
无论哪种情况,都可能导致意外结果。
从版本 1.6 开始,对于autoDeclare 要起作用,必须只有一个RabbitAdmin 中,或者必须使用rabbitAdmin 财产。 |
|
|
|
|
autoStartup (自动启动)spring-doc.cadn.net.cn
|
标志,指示容器应在ApplicationContext does(作为SmartLifecycle 回调,这发生在所有 bean 初始化之后)。
默认为true ,但您可以将其设置为false 如果您的代理在启动时可能不可用,请调用start() 稍后当您知道 broker 已准备就绪时手动作。spring-doc.cadn.net.cn |
|
|
|
batchSize (交易大小)
(批量大小)spring-doc.cadn.net.cn
|
当与acknowledgeMode 设置为AUTO ,容器会尝试在发送 ack 之前处理最多此数量的消息(等待每条消息直到接收超时设置)。
这也是提交事务通道时。
如果prefetchCount 小于batchSize ,则会增加以匹配batchSize .spring-doc.cadn.net.cn |
|
|
|
batchingStrategy (不适用)spring-doc.cadn.net.cn
|
对消息进行 debatchng 时使用的策略。
违约SimpleDebatchingStrategy .
请参阅批处理和使用 Batching 进行@RabbitListener。spring-doc.cadn.net.cn |
|
|
|
channelTransacted (通道事务处理)spring-doc.cadn.net.cn
|
Boolean 标志,表示应在事务中确认所有消息(手动或自动)。spring-doc.cadn.net.cn |
|
|
|
concurrency (不适用)spring-doc.cadn.net.cn
|
m-n 每个侦听器的并发使用者范围(最小值、最大值)。
苟n 提供,n 是固定数量的使用者。
请参阅 侦听器并发。spring-doc.cadn.net.cn
|
|
|
|
concurrentConsumers (并发)spring-doc.cadn.net.cn
|
每个侦听器最初要启动的并发使用者数。
请参阅 侦听器并发。
对于StLC ,并发是通过重载的superStream 方法;请参阅使用具有单个活动使用者的 Super Streams。spring-doc.cadn.net.cn |
|
|
|
connectionFactory (连接工厂)spring-doc.cadn.net.cn
|
对ConnectionFactory .
使用 XML 名称空间进行配置时,默认引用的 Bean 名称为rabbitConnectionFactory .spring-doc.cadn.net.cn |
|
|
|
consecutiveActiveTrigger (min-consecutive-active)spring-doc.cadn.net.cn
|
在考虑启动新使用者时,使用者在未发生接收超时的情况下接收的连续消息的最小数量。
也受 'batchSize' 影响。
请参阅 侦听器并发。
默认值:10。spring-doc.cadn.net.cn |
|
|
|
consecutiveIdleTrigger (min-consecutive-idle)spring-doc.cadn.net.cn
|
使用者在考虑停止使用者之前必须经历的最小接收超时次数。
也受 'batchSize' 影响。
请参阅 侦听器并发。
默认值:10。spring-doc.cadn.net.cn |
|
|
|
consumerBatchEnabled (已启用批处理)spring-doc.cadn.net.cn
|
如果MessageListener 支持它,将此项设置为 true 可启用离散消息的批处理,最高可达batchSize ;如果没有新消息到达,将传递部分批处理receiveTimeout 或收集批量消息的时间已超过batchReceiveTimeout .
如果为 false,则仅支持由 producer 创建的批处理;请参阅 批处理。spring-doc.cadn.net.cn |
|
|
|
consumerCustomizer (不适用)spring-doc.cadn.net.cn
|
一个ConsumerCustomizer 用于修改容器创建的流使用者的 bean。spring-doc.cadn.net.cn |
|
|
|
consumerStartTimeout (不适用)spring-doc.cadn.net.cn
|
等待使用者线程启动的时间(以毫秒为单位)。
如果超过此时间,则会写入错误日志。
发生这种情况的一个示例是,如果配置了taskExecutor 没有足够的线程来支持容器concurrentConsumers .spring-doc.cadn.net.cn
请参阅 线程处理和异步使用者。
默认值:60000(1 分钟)。spring-doc.cadn.net.cn |
|
|
|
consumerTagStrategy (消费者标签策略)spring-doc.cadn.net.cn
|
设置 ConsumerTagStrategy 的实现,以便为每个使用者创建一个(唯一)标签。spring-doc.cadn.net.cn |
|
|
|
consumersPerQueue (每个队列的使用者数)spring-doc.cadn.net.cn
|
要为每个配置的队列创建的使用者数量。
请参阅 侦听器并发。spring-doc.cadn.net.cn |
|
|
|
consumeDelay (不适用)spring-doc.cadn.net.cn
|
当使用 RabbitMQ 分片插件时concurrentConsumers > 1 ,则存在争用条件,该条件可能会阻止使用者在分片之间均匀分布。
使用此属性可在使用者启动之间添加一个小的延迟,以避免这种争用条件。
您应该尝试各种值以确定适合您环境的延迟。spring-doc.cadn.net.cn |
|
|
|
debatchingEnabled (不适用)spring-doc.cadn.net.cn
|
如果为 true,则侦听器容器将对批处理消息进行 Debatch,并使用批处理中的每条消息调用侦听器。
从版本 2.2.7 开始,生产者创建的批处理将被解批处理为List<Message> 如果侦听器是BatchMessageListener 或ChannelAwareBatchMessageListener .
否则,将一次显示一个来自批处理的消息。
默认为 true。
请参阅批处理和使用 Batching 进行@RabbitListener。spring-doc.cadn.net.cn |
|
|
|
declarationRetries (declaration-retriries)spring-doc.cadn.net.cn
|
被动队列声明失败时的重试尝试次数。
被动队列声明发生在使用者启动时,或者从多个队列中使用时,当初始化期间并非所有队列都可用时。
当重试用尽后无法被动声明任何已配置的队列时(出于任何原因),容器行为由前面描述的“missingQueuesFatal”属性控制。
默认值:重试 3 次(总共 4 次尝试)。spring-doc.cadn.net.cn |
|
|
|
defaultRequeueRejected (重新排队-被拒绝)spring-doc.cadn.net.cn
|
确定是否应将因侦听器引发异常而被拒绝的消息重新排队。
违约:true .spring-doc.cadn.net.cn |
|
|
|
errorHandler (错误处理程序)spring-doc.cadn.net.cn
|
对ErrorHandler 策略来处理在执行 MessageListener 期间可能发生的任何未捕获的异常。
违约:ConditionalRejectingErrorHandler spring-doc.cadn.net.cn |
|
|
|
exclusive (独家)spring-doc.cadn.net.cn
|
确定此容器中的单个使用者是否具有对队列的独占访问权限。
当true .
如果另一个使用者具有独占访问权限,则容器会尝试根据recovery-interval 或recovery-back-off .
使用命名空间时,此属性显示在<rabbit:listener/> 元素以及队列名称。
违约:false .spring-doc.cadn.net.cn |
|
|
|
exclusiveConsumerExceptionLogger (不适用)spring-doc.cadn.net.cn
|
当独占使用者无法访问队列时使用的异常记录器。
默认情况下,这记录在WARN 水平。spring-doc.cadn.net.cn |
|
|
|
failedDeclarationRetryInterval (失败声明
-重试间隔)spring-doc.cadn.net.cn
|
被动队列声明重试尝试之间的间隔。
被动队列声明发生在使用者启动时,或者从多个队列中使用时,当初始化期间并非所有队列都可用时。
默认值:5000(5 秒)。spring-doc.cadn.net.cn |
|
|
|
forceCloseChannel (不适用)spring-doc.cadn.net.cn
|
如果使用者在shutdownTimeout ,如果这是true ,则通道将关闭,从而导致任何未确认的消息重新排队。
默认为true 从 2.0 开始。
您可以将其设置为false 以恢复到之前的行为。spring-doc.cadn.net.cn |
|
|
|
forceStop (不适用)spring-doc.cadn.net.cn
|
设置为 true 可在处理当前记录后停止(当容器停止时);导致所有预取的消息重新排队。
默认情况下,容器会取消 Consumer 并在停止之前处理所有预取的消息。
版本 2.4.14、3.0.6 的最新版本
默认为false .spring-doc.cadn.net.cn |
|
|
|
globalQos (全局 QoS)spring-doc.cadn.net.cn
|
如果为 true,则prefetchCount 全局应用于通道,而不是通道上的每个使用者。
看basicQos.global 了解更多信息。spring-doc.cadn.net.cn |
|
|
|
(群展)spring-doc.cadn.net.cn |
这仅在使用 namespace 时可用。
指定后,类型为Collection<MessageListenerContainer> 使用此名称注册,并且
container 中每个<listener/> 元素添加到集合中。
例如,这允许通过迭代集合来启动和停止容器组。
如果多个<listener-container/> 元素具有相同的 group 值,集合表单中的 containers
如此指定的所有容器的集合。spring-doc.cadn.net.cn |
|
|
|
idleEventInterval (空闲事件间隔)spring-doc.cadn.net.cn
|
请参阅 检测空闲的异步使用者。spring-doc.cadn.net.cn |
|
|
|
javaLangErrorHandler (不适用)spring-doc.cadn.net.cn
|
一AbstractMessageListenerContainer.JavaLangErrorHandler 当容器线程捕获Error .
默认实现调用System.exit(99) ;要恢复到之前的行为(不执行任何作),请添加 no-op 处理程序。spring-doc.cadn.net.cn |
|
|
|
maxConcurrentConsumers (最大并发)spring-doc.cadn.net.cn
|
如果需要,按需启动的最大并发使用者数。
必须大于或等于 'concurrentConsumers'。
请参阅 侦听器并发。spring-doc.cadn.net.cn |
|
|
|
messagesPerAck (不适用)spring-doc.cadn.net.cn
|
ack 之间要接收的消息数。
使用此选项可以减少发送到代理的 ack 数(以增加重新传送消息的可能性为代价)。
通常,您应该仅在高容量侦听器容器上设置此属性。
如果设置了此选项并且消息被拒绝(引发异常),则会确认待处理的确认并拒绝失败的消息。
不允许用于事务处理通道。
如果prefetchCount 小于messagesPerAck ,则会增加以匹配messagesPerAck .
默认值:ack every message
另请参阅ackTimeout 在此表中。spring-doc.cadn.net.cn |
|
|
|
mismatchedQueuesFatal (mismatched-queues-fatal)spring-doc.cadn.net.cn
|
当容器启动时,如果此属性为true (默认:false ),容器会检查上下文中声明的所有队列是否与代理上已有的队列兼容。
如果不匹配的属性(例如auto-delete ) 或参数 (skuch 为x-message-ttl ) 存在时,容器(和应用程序上下文)无法启动并出现致命异常。spring-doc.cadn.net.cn
|
如果代理在初始启动期间不可用,则容器将启动,并在建立连接时检查条件。 |
|
将针对上下文中的所有队列进行检查,而不仅仅是针对特定侦听器配置为使用的队列。
如果您希望将检查限制为容器使用的那些队列,您应该配置一个单独的RabbitAdmin 对于容器,并使用rabbitAdmin 财产。
有关更多信息,请参阅 条件声明 。 |
|
在 为@RabbitListener 在标记了@Lazy .
这是为了避免潜在的死锁,这可能会使此类容器的启动延迟长达 60 秒。
使用惰性侦听器 bean 的应用程序应该在获取对惰性 bean 的引用之前检查队列参数。 |
|
|
|
|
missingQueuesFatal (缺少队列致命)spring-doc.cadn.net.cn
|
当设置为true (默认),如果代理上没有任何配置的队列可用,则将其视为致命队列。
这会导致应用程序上下文在启动期间无法初始化。
此外,在容器运行时删除队列时,默认情况下,使用者会重试 3 次以连接到队列(间隔 5 秒),并在这些尝试失败时停止容器。spring-doc.cadn.net.cn
当设置为false ,在进行 3 次重试后,容器将进入恢复模式,就像其他问题(如代理关闭)一样。
容器尝试根据recoveryInterval 财产。
在每次恢复尝试期间,每个使用者再次尝试四次,以 5 秒的间隔被动声明队列。
这个过程无限期地持续下去。spring-doc.cadn.net.cn
<util:properties
id="spring.amqp.global.properties">
<prop key="mlc.missing.queues.fatal">
false
</prop>
</util:properties>
|
在 为@RabbitListener 在标记了@Lazy .
这是为了避免潜在的死锁,这可能会使此类容器的启动延迟长达 60 秒。
使用惰性侦听器 bean 的应用程序应该在获取对惰性 bean 的引用之前检查队列。 |
|
|
|
|
monitorInterval (监控间隔)spring-doc.cadn.net.cn
|
使用 DMLC 时,将计划在此间隔运行任务,以监控使用者的状态并恢复任何失败的状态。spring-doc.cadn.net.cn |
|
|
|
noLocal (不适用)spring-doc.cadn.net.cn
|
设置为true 以禁用从服务器向使用者传送在同一通道连接上发布的消息。spring-doc.cadn.net.cn |
|
|
|
phase (阶段)spring-doc.cadn.net.cn
|
什么时候autoStartup 是true ,此容器应在其中启动和停止的生命周期阶段。
值越低,此容器开始得越早,停止得越晚。
默认值为Integer.MAX_VALUE ,这意味着容器会尽可能晚地启动并尽快停止。spring-doc.cadn.net.cn |
|
|
|
possibleAuthenticationFailureFatal (可能的身份验证失败致命)spring-doc.cadn.net.cn
|
当设置为true (SMLC 的默认值),如果PossibleAuthenticationFailureException 在连接期间引发,则被视为致命的。
这会导致应用程序上下文在启动期间无法初始化(如果容器配置了自动启动)。spring-doc.cadn.net.cn
当设置为false ,在进行 3 次重试后,容器将进入恢复模式,就像其他问题一样,比如代理宕机。
容器将尝试根据recoveryInterval 财产。
在每次恢复尝试期间,每个使用者将再次尝试 4 次以启动。
这个过程将无限期地持续下去。spring-doc.cadn.net.cn
<util:properties
id="spring.amqp.global.properties">
<prop
key="mlc.possible.authentication.failure.fatal">
false
</prop>
</util:properties>
|
|
|
|
prefetchCount (预取)spring-doc.cadn.net.cn
|
每个使用者可以未完成的未确认消息数。
此值越高,消息的传递速度就越快,但非顺序处理的风险就越高。
如果acknowledgeMode 是NONE .
如有必要,将增加此值以匹配batchSize 或messagePerAck .
自 2.0 起默认为 250。
您可以将其设置为 1 以恢复到之前的行为。spring-doc.cadn.net.cn
|
在某些情况下,prefetch 值应
低 — 例如,对于大型消息,尤其是在处理速度较慢的情况下(消息可能会累积
添加到客户端进程中的大量内存),并且如果需要严格的消息排序
(在这种情况下,prefetch 值应设置回 1)。
此外,对于低容量消息收发和多个使用者(包括单个侦听器容器实例中的并发),您可能希望减少预取,以便在使用者之间更均匀地分配消息。 |
|
|
|
|
rabbitAdmin (管理员)spring-doc.cadn.net.cn
|
当侦听器容器侦听至少一个自动删除队列,并且在启动期间发现该队列缺失时,该容器会使用RabbitAdmin 来声明 queue 以及任何相关的 bindings 和 exchanges。
如果此类元素配置为使用条件声明(请参阅条件声明),则容器必须使用配置为声明这些元素的 admin。
在此处指定该管理员。
仅当使用带有条件声明的自动删除队列时,才需要它。
如果您不希望在容器启动之前声明自动删除队列,请将auto-startup 自false 在 admin.
默认为RabbitAdmin 声明所有非条件元素。spring-doc.cadn.net.cn |
|
|
|
receiveTimeout (接收超时)spring-doc.cadn.net.cn
|
等待每条消息的最长时间。
如果acknowledgeMode=NONE ,这影响很小 — 容器旋转并请求另一条消息。
它对交易Channel 跟batchSize > 1 ,因为它可能导致在超时到期之前不确认已使用的消息。
什么时候consumerBatchEnabled 为 true,则如果此超时发生在批处理完成之前,则将交付部分批处理。spring-doc.cadn.net.cn |
|
|
|
batchReceiveTimeout (批处理接收超时)spring-doc.cadn.net.cn
|
收集批处理消息的超时毫秒数。
它限制了等待填充 batchSize 的时间。
什么时候batchSize > 1 并且收集批处理消息的时间大于batchReceiveTime ,将交付批次。
默认值为 0 (无超时)。spring-doc.cadn.net.cn |
|
|
|
recoveryBackOff (恢复回退)spring-doc.cadn.net.cn
|
指定BackOff 如果使用者由于非致命原因而无法启动,则尝试启动使用者的间隔。
默认值为FixedBackOff 每 5 秒无限次重试。
互斥与recoveryInterval .spring-doc.cadn.net.cn |
|
|
|
recoveryInterval (恢复间隔)spring-doc.cadn.net.cn
|
确定如果使用者由于非致命原因而无法启动,则尝试启动使用者之间的时间(以毫秒为单位)。
默认值:5000。
互斥与recoveryBackOff .spring-doc.cadn.net.cn |
|
|
|
retryDeclarationInterval (缺失队列-
retry-interval)spring-doc.cadn.net.cn
|
如果配置的队列的子集在使用者初始化期间可用,则使用者将开始从这些队列中使用。
使用者尝试使用此间隔被动声明缺少的队列。
当此间隔过后,将再次使用 'declarationRetries' 和 'failedDeclarationRetryInterval'。
如果仍然缺少队列,使用者会再次等待此间隔,然后再尝试一次。
此过程将无限期地持续,直到所有队列都可用。
默认值:60000(1 分钟)。spring-doc.cadn.net.cn |
|
|
|
shutdownTimeout (不适用)spring-doc.cadn.net.cn
|
当容器关闭时(例如,
如果它包含ApplicationContext 已关闭),它会等待处理到此限制的 in-flight 消息。
默认为 5 秒。spring-doc.cadn.net.cn |
|
|
|
startConsumerMinInterval (最小开始间隔)spring-doc.cadn.net.cn
|
按需启动每个新使用者之前必须经过的时间(以毫秒为单位)。
请参阅 侦听器并发。
默认值:10000(10 秒)。spring-doc.cadn.net.cn |
|
|
|
statefulRetryFatal WithNullMessageId
(不适用)spring-doc.cadn.net.cn
|
当使用有状态重试通知时,如果缺少messageId property 时,它被视为
fatal (它已停止)。
将此项设置为false 丢弃(或路由到死信队列)此类消息。spring-doc.cadn.net.cn |
|
|
|
stopConsumerMinInterval (最小停止间隔)spring-doc.cadn.net.cn
|
在检测到空闲使用者时,自最后一个使用者停止以来,在停止使用者之前必须经过的时间(以毫秒为单位)。
请参阅 侦听器并发。
默认值:60000(1 分钟)。spring-doc.cadn.net.cn |
|
|
|
streamConverter (不适用)spring-doc.cadn.net.cn
|
一个StreamMessageConverter 将本机 Stream 消息转换为 Spring AMQP 消息。spring-doc.cadn.net.cn |
|
|
|
taskExecutor (任务执行程序)spring-doc.cadn.net.cn
|
对 Spring 的引用TaskExecutor (或标准 JDK 1.5+Executor ) 来执行侦听器调用程序。
默认值为SimpleAsyncTaskExecutor ,使用内部管理的线程。spring-doc.cadn.net.cn |
|
|
|
taskScheduler (任务计划程序)spring-doc.cadn.net.cn
|
使用 DMLC 时,调度程序用于在 'monitorInterval' 运行监视任务。spring-doc.cadn.net.cn |
|
|
|
transactionManager (事务管理器)spring-doc.cadn.net.cn
|
用于侦听器作的外部事务管理器。
也是对channelTransacted - 如果Channel 是 transacted,则其事务将与外部事务同步。spring-doc.cadn.net.cn |
|
|
|