springboot使用rabbitmq

springboot配置文件

# base

spring.rabbitmq.host: 服务Host

spring.rabbitmq.port: 服务端口

spring.rabbitmq.username: 登陆用户名

spring.rabbitmq.password: 登陆密码

spring.rabbitmq.virtual-host: 连接到rabbitMQ的vhost

spring.rabbitmq.addresses: 指定client连接到的server的地址,多个以逗号分隔(优先取addresses,然后再取host)

spring.rabbitmq.requested-heartbeat: 指定心跳超时,单位秒,0为不指定;默认60s

spring.rabbitmq.publisher-confirms: 是否启用【发布确认】

spring.rabbitmq.publisher-returns: 是否启用【发布返回】

spring.rabbitmq.connection-timeout: 连接超时,单位毫秒,0表示无穷大,不超时

spring.rabbitmq.parsed-addresses:

# ssl

spring.rabbitmq.ssl.enabled: 是否支持ssl

spring.rabbitmq.ssl.key-store: 指定持有SSL certificate的key store的路径

spring.rabbitmq.ssl.key-store-password: 指定访问key store的密码

spring.rabbitmq.ssl.trust-store: 指定持有SSL certificates的Trust store

spring.rabbitmq.ssl.trust-store-password: 指定访问trust store的密码

spring.rabbitmq.ssl.algorithm: ssl使用的算法,例如,TLSv1.1

# cache

spring.rabbitmq.cache.channel.size: 缓存中保持的channel数量

spring.rabbitmq.cache.channel.checkout-timeout: 当缓存数量被设置时,从缓存中获取一个channel的超时时间,单位毫秒;如果为0,则总是创建一个新channel

spring.rabbitmq.cache.connection.size: 缓存的连接数,只有是CONNECTION模式时生效

spring.rabbitmq.cache.connection.mode: 连接工厂缓存模式:CHANNEL 和 CONNECTION

# listener

spring.rabbitmq.listener.simple.auto-startup: 是否启动时自动启动容器

spring.rabbitmq.listener.simple.acknowledge-mode: 表示消息确认方式,其有三种配置方式,分别是none、manual和auto;默认auto

spring.rabbitmq.listener.simple.concurrency: 最小的消费者数量

spring.rabbitmq.listener.simple.max-concurrency: 最大的消费者数量

spring.rabbitmq.listener.simple.prefetch: 指定一个请求能处理多少个消息,如果有事务的话,必须大于等于transaction数量.

spring.rabbitmq.listener.simple.transaction-size: 指定一个事务处理的消息数量,最好是小于等于prefetch的数量.

spring.rabbitmq.listener.simple.default-requeue-rejected: 决定被拒绝的消息是否重新入队;默认是true(与参数acknowledge-mode有关系)

spring.rabbitmq.listener.simple.idle-event-interval: 多少长时间发布空闲容器时间,单位毫秒

spring.rabbitmq.listener.simple.retry.enabled: 监听重试是否可用

spring.rabbitmq.listener.simple.retry.max-attempts: 最大重试次数

spring.rabbitmq.listener.simple.retry.initial-interval: 第一次和第二次尝试发布或传递消息之间的间隔

spring.rabbitmq.listener.simple.retry.multiplier: 应用于上一重试间隔的乘数

spring.rabbitmq.listener.simple.retry.max-interval: 最大重试时间间隔

spring.rabbitmq.listener.simple.retry.stateless: 重试是有状态or无状态

# template

spring.rabbitmq.template.mandatory: 启用强制信息;默认false

spring.rabbitmq.template.receive-timeout: receive() 操作的超时时间

spring.rabbitmq.template.reply-timeout: sendAndReceive() 操作的超时时间

spring.rabbitmq.template.retry.enabled: 发送重试是否可用

spring.rabbitmq.template.retry.max-attempts: 最大重试次数

spring.rabbitmq.template.retry.initial-interval: 第一次和第二次尝试发布或传递消息之间的间隔

spring.rabbitmq.template.retry.multiplier: 应用于上一重试间隔的乘数

spring.rabbitmq.template.retry.max-interval: 最大重试时间间隔

 

参考文档:

Spring Cloud中RabbitMQ配置属性表:https://blog.csdn.net/en_joker/article/details/80103519

SpringBoot的RabbitMQ消息队列: 第二模式"Work queues"https://blog.csdn.net/lxhjh/article/details/69054342

SpringBoot官方文档:https://docs.spring.io/spring-amqp/docs/1.5.6.RELEASE/reference/html/_reference.html

SpringBoot系统- 死信队列:https://www.cnblogs.com/bigdataZJ/p/springboot-deadletter-queue.html

要在Spring Boot使用RabbitMQ,首先需要添加相应的依赖。在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` 接下来,你需要在application.properties(或application.yml)文件中配置RabbitMQ连接信息,例如: ```properties spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest ``` 然后,你可以创建一个生产者和一个消费者来发送和接收消息。 对于生产者,你可以使用RabbitTemplate类发送消息。例如,创建一个名为`MessageProducer`的类,并注入`RabbitTemplate`: ```java import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MessageProducer { private final RabbitTemplate rabbitTemplate; @Autowired public MessageProducer(RabbitTemplate rabbitTemplate) { this.rabbitTemplate = rabbitTemplate; } public void sendMessage(String message) { rabbitTemplate.convertAndSend("myExchange", "myRoutingKey", message); } } ``` 对于消费者,你可以创建一个消息处理器来处理接收到的消息。例如,创建一个名为`MessageConsumer`的类,并使用`@RabbitListener`注解指定监听的队列: ```java import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; @Component public class MessageConsumer { @RabbitListener(queues = "myQueue") public void handleMessage(String message) { System.out.println("Received message: " + message); // 处理消息 } } ``` 需要注意的是,你还需要在启动类上添加`@EnableRabbit`注解来启用RabbitMQ相关功能。 这是一个简单的使用RabbitMQSpring Boot示例。根据你的需求,你可以进一步配置交换机和队列等属性,以及处理更复杂的消息场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Luckln~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值