使用内嵌服务
(1)在pom.xml中引入ActiveMQ起步依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>
(2)创建消息生产者
/** * 消息生产者 * @author Administrator */ @RestController public class QueueController { @Autowired private JmsMessagingTemplate jmsMessagingTemplate; @RequestMapping("/send") public void send(String text){ jmsMessagingTemplate.convertAndSend("itcast", text); } }
(3)创建消息消费者
@Component public class Consumer { @JmsListener(destination="itcast") public void readMessage(String text){ System.out.println("接收到消息:"+text); } }
测试:启动服务后,在浏览器执行
http://localhost:8088/send.do?text=abc
即可看到控制台输出消息提示。
Spring Boot内置了ActiveMQ的服务,所以我们不用单独启动也可以执行应用程序。
使用外部服务
在src/main/resources下的application.properties增加配置, 指定ActiveMQ的地址
spring.activemq.broker-url=tcp://192.168.25.135:61616
运行后,会在activeMQ中看到发送的queue
发送map信息
(1)修改QueueController.java
@RequestMapping("/sendmap") public void sendMap(){ Map map=new HashMap<>(); map.put("mobile", "13900001111"); map.put("content", "恭喜获得10元代金券"); jmsMessagingTemplate.convertAndSend("itcast_map",map); }
(2)修改Consumer.java
@JmsListener(destination="itcast_map") public void readMap(Map map){ System.out.println(map); }
代码地址
https://github.com/hufanglei/pinyou/tree/springboot-activemq-demo
完