使用内嵌服务
(1)在pom.xml中引入ActiveMQ起步依赖使用内嵌服务
在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 publicclass Consumer { @JmsListener(destination="itcast") publicvoid readMessage(String text){ System.out.println("接收到消息:"+text); } } |
测试:启动服务后,在浏览器执行
http://localhost:8088/send.do?text=aaaaa
即可看到控制台输出消息提示。SpringBoot内置了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") publicvoid 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") publicvoid readMap(Map map){ System.out.println(map); } |