Sprongboot启动activeMq(点对点模式)
先引入activeMq的依赖
<!--activemq依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0.1</version>
</dependency>
<!-- ******************** -->
在web的启动类中配置队列信息
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class,args);
}
@Bean //注入bean 点对点模式
public Queue queue(){
return new ActiveMQQueue(“queue”);
}
//注入bean 订阅模式
@Bean
public ActiveMQTopic activeMQTopic(){
return new ActiveMQTopic(“topic”);
}
}
引入注解 在控制层中发送消息给队列
@Autowired
private JmsTemplate jms;
@Autowired
private Queue queue;
/**
* 将注册信息存入mq
* @param user
*/
@PostMapping("/addQueue")
public void addUser(@RequestBody final User user){
//jms发送消息的方法
jms.send(queue, new MessageCreator() {
@Override
public Message createMessage(Session session) throws JMSException {
String s = JSONObject.toJSONString(user);
return session.createTextMessage(s);
}
});
}
在另一个微服务可通过监听队列接受mq中的消息
![在这是里插入图片描述](https://img-blog.csdnimg.cn/20191205191218613.png?x-oss-process=image/watermark,type_ZFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RnemxmeQ==,size_16,color_FFFFFF,t_70![在这里插入图片描述](https://img-blog.csdnimg.cn/20191205191613868.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RnemxmeQ==,size_16,color_FFFFFF,t_70注意一定要加入jms的监听 这样的话就可以实时监听该队列了
配置application.yml
最后启动项目和mq就可以测试了