SpringBoot2整合ActiveMQ发送接收消息
一、消息生产者
(一)加入依赖
创建一个springboot项目,加入ActiveMQ starter包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
(二)application.yml中添加activemq配置
server:
port: 30000
spring:
activemq:
broker-url: tcp://localhost:61616
user: admin
password: admin
(三)发送消息
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.web.bind.annotation.*;
@RestController
@CrossOrigin
@RequestMapping("/test")
public class TestController {
@Autowired
private JmsTemplate jmsTemplate;
@GetMapping
public ResponseEntity<String> test(){
// 向test队列发送消息
jmsTemplate.convertAndSend("test", "Hello,chushiyan");
return ResponseEntity.ok().body("测试成功");
}
}
二、消息消费者
一般都是另一个项目。依赖、配置同消息生产者。
(一)定义一个listener
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
@Component
public class MyListener {
@JmsListener(destination = "test") // 监听test队列
public void receiveQueue(String text) {
System.out.println("Message Received: " + text);
}
}