SpringBoot RabbitMQ 配置参数
参数 | 值 | 表示 |
---|---|---|
spring.rabbitmq.addresses | 以逗号分隔的客户端应连接的地址列表。 | |
spring.rabbitmq.cache.channel.checkout-timeout | 如果已达到缓存大小,则等待获取通道的毫秒数。 | |
spring.rabbitmq.cache.channel.size | 要保留在缓存中的通道数。 | |
spring.rabbitmq.cache.connection.mode | CHANNEL | 连接工厂缓存模式。 |
spring.rabbitmq.cache.connection.size | 到缓存的连接数。 | |
spring.rabbitmq.connection-timeout | 连接超时,以毫秒为单位;零代表无限。 | |
spring.rabbitmq.dynamic | true | 创建一个amqpadminbean。 |
spring.rabbitmq.host | localhost | RabbitMQ主机。 |
spring.rabbitmq.listener.type | simple / direct | 容器类型.simple或direct |
spring.rabbitmq.listener.simple.acknowledge-mode | none / manual / auto | 容器的确认模式。manual 开启手动应答Channel.basicAck() |
spring.rabbitmq.listener.simple.auto-startup | true | 启动时自动启动容器。 |
spring.rabbitmq.listener.simple.concurrency | 消费者的最低数量。 | |
spring.rabbitmq.listener.simple.default-requeue-rejected | 是否对交付失败进行重新报价;默认值为“true”。 | |
spring.rabbitmq.listener.simple.max-concurrency | 消费者的最大数量。 | |
spring.rabbitmq.listener.simple.prefetch | 单个请求中要处理的消息数。它应该大于或等于事务大小(如果使用)。 | |
spring.rabbitmq.listener.simple.retry.enabled | false | 是否启用发布重试。 |
spring.rabbitmq.listener.simple.retry.initial-interval | 1000 | 第一次和第二次尝试传递消息之间的间隔。 |
spring.rabbitmq.listener.simple.retry.max-attempts | 3 | 传递邮件的最大尝试次数。 |
spring.rabbitmq.listener.simple.retry.max-interval | 10000 | 尝试之间的最大间隔。 |
spring.rabbitmq.listener.simple.retry.multiplier | 1 | 应用于上一次传递重试间隔的乘数。 |
spring.rabbitmq.listener.simple.retry.stateless | true | 重试是否为无状态或有状态。 |
spring.rabbitmq.listener.simple.transaction-size | 事务中要处理的消息数。为获得最佳结果,它应小于或等于预取计数。 | |
spring.rabbitmq.listener.direct.acknowledge-mode | none / manual / auto | 容器的确认模式。manual 开启手动应答Channel.basicAck() |
spring.rabbitmq.listener.direct.auto-startup | true | 启动时自动启动容器。 |
spring.rabbitmq.listener.direct.concurrency | 消费者的最低数量。 | |
spring.rabbitmq.listener.direct.default-requeue-rejected | 是否对交付失败进行重新报价;默认值为“true”。 | |
spring.rabbitmq.listener.direct.max-concurrency | 消费者的最大数量。 | |
spring.rabbitmq.listener.direct.prefetch | 单个请求中要处理的消息数。它应该大于或等于事务大小(如果使用)。 | |
spring.rabbitmq.listener.direct.retry.enabled | false | 是否启用发布重试。 |
spring.rabbitmq.listener.direct.retry.initial-interval | 1000 | 第一次和第二次尝试传递消息之间的间隔。 |
spring.rabbitmq.listener.direct.retry.max-attempts | 3 | 传递邮件的最大尝试次数。 |
spring.rabbitmq.listener.direct.retry.max-interval | 10000 | 尝试之间的最大间隔。 |
spring.rabbitmq.listener.direct.retry.multiplier | 1 | 应用于上一次传递重试间隔的乘数。 |
spring.rabbitmq.listener.direct.retry.stateless | true | 重试是否为无状态或有状态。 |
spring.rabbitmq.listener.direct.transaction-size | 事务中要处理的消息数。为获得最佳结果,它应小于或等于预取计数。 | |
spring.rabbitmq.password | 登录以对代理进行身份验证。 | |
spring.rabbitmq.port | 5672 | RabbitMQ端口。 |
spring.rabbitmq.publisher-confirms | false | 启用发布者确认。 |
spring.rabbitmq.publisher-returns | false | 启用发布者返回。 |
spring.rabbitmq.requested-heartbeat | 请求的心跳超时,以秒为单位;零对零。 | |
spring.rabbitmq.ssl.enabled | false | 启用SSL支持。 |
spring.rabbitmq.ssl.key-store | 保存SSL证书的密钥存储的路径。 | |
spring.rabbitmq.ssl.key-store-password | 用于访问密钥存储的密码。 | |
spring.rabbitmq.ssl.trust-store | 保存SSL证书的信任存储。 | |
spring.rabbitmq.ssl.trust-store-password | 用于访问信任存储的密码。 | |
spring.rabbitmq.ssl.algorithm | 使用SSL算法。默认情况下,由rabbit客户端库进行配置。 | |
spring.rabbitmq.template.mandatory | false | 启用强制消息。 |
spring.rabbitmq.template.receive-timeout | 0 | receive() 方法超时。 |
spring.rabbitmq.template.reply-timeout | 5000 | sendAndReceive() 方法超时。 |
spring.rabbitmq.template.retry.enabled | false | 设置为true以启用“rabbitmplate”中的重试。 |
spring.rabbitmq.template.retry.initial-interval | 1000 | 第一次和第二次尝试发布消息之间的间隔。 |
spring.rabbitmq.template.retry.max-attempts | 3 | 发布邮件的最大尝试次数。 |
spring.rabbitmq.template.retry.max-interval | 10000 | 发布邮件的最大尝试次数。 |
spring.rabbitmq.template.retry.multiplier | 1 | 应用于上一次发布重试间隔的乘数。 |
spring.rabbitmq.username | 登录用户以向代理进行身份验证。 | |
spring.rabbitmq.virtual-host | 连接到代理时要使用的虚拟主机。 |
spring.rabbitmq.listener.acknowledge-mode=none / manual / auto
A、 NONE=不发送任何ACK(与ChannelTransact=true不兼容)。
RabbitMQ调用此“自动确认”,因为代理假定所有消息都已确认,而不需要使用者执行任何操作。
B、 manual=侦听器必须通过调用Channel.basicAck()确认所有消息。
C、 AUTO=除非MessageListener引发异常,否则容器将自动确认消息。
请注意,acknowledgeMode是对ChannelTransactive的补充-如果通道是事务性的,那么代理除了ack之外还需要提交通知。这是默认模式。另请参见txSize。