spring boot 消息队列

本文详细介绍如何在Spring Boot项目中集成ActiveMQ消息中间件,包括Maven依赖配置、application.properties参数设定及Java代码实现消息发送与接收。涵盖队列模式与订阅模式选择,以及消息持久化设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven 依赖

        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-activemq</artifactId>
        <version>2.0.6.RELEASE</version>
    </dependency>

application.properties 配置文件

#spring.activemq.broker-url=tcp://localhost:16161
# 默认保持在内存中 true    持久化:false
spring.activemq.in-memory=false

#用户名 和密码
spring.activemq.user=admin
spring.activemq.password=admin
#设置对象是否允许转化
spring.activemq.packages.trust-all=true
 #制定消息队列模式 false: 队列模式 一次执行一个,
 #true :订阅模式 对于监听这 全都执行
spring.jms.pub-sub-domain=false

java 代码

核心对象

@Resource
JmsMessagingTemplate jmsMessagingTemplate;

添加消息队列

    @RequestMapping("/mq")
public Object jms(){

    jmsMessagingTemplate.convertAndSend("qgl",new String("456421"));
    return "";
}

处理消息队列

@JmsListener(destination = "qgl")
public void xiaofei(TextMessage message){
    try {
        System.out.println("qgl1:"+message.getText());
    } catch (JMSException e) {
        e.printStackTrace();
    }
}
Spring Boot提供了对多种消息队列的支持,包括ActiveMQ、RabbitMQ、Kafka、Redis等。下面以RabbitMQ为例,介绍如何在Spring Boot中使用消息队列。 1. 添加依赖 在`pom.xml`文件中添加RabbitMQ依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> ``` 2. 配置消息队列 在`application.properties`文件中添加RabbitMQ的配置信息: ```properties spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest ``` 3. 定义消息发送者 使用`RabbitTemplate`发送消息: ```java @Component public class MessageSender { @Autowired private RabbitTemplate rabbitTemplate; public void send(String message) { rabbitTemplate.convertAndSend("exchange", "routingKey", message); } } ``` 4. 定义消息接收者 使用`@RabbitListener`注解监听消息: ```java @Component public class MessageReceiver { @RabbitListener(queues = "queue") public void receive(String message) { System.out.println("Received message: " + message); } } ``` 5. 发送和接收消息 在需要发送消息的地方调用`MessageSender`的`send`方法即可发送消息: ```java @Autowired private MessageSender messageSender; messageSender.send("Hello, RabbitMQ!"); ``` 当有消息到达队列时,`MessageReceiver`的`receive`方法会被自动调用,处理消息: ```java @Component public class MessageReceiver { @RabbitListener(queues = "queue") public void receive(String message) { System.out.println("Received message: " + message); } } ``` 以上就是使用RabbitMQ实现消息队列的简单示例,其他消息队列的使用也类似。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值