1.下载activeMQ,传送门:http://activemq.apache.org/activemq-5158-release.html
2.解压到bin目录下,我是64位,进win64,双击activemq.bat,运行。也可以进到win64目录下运行activemq start运行,效果一样。之前看别人的文章有的说在这个下面直接运行activemq.bat,那样应该是会闪退,可能是版本不同了吧,现在多了两个文件夹,找到对应计算机位数,进到子目录夹下,运行就不闪退了。(我的是这样)
浏览器输入http://127.0.0.1:8161/,这个样子也就是运行成功了
3.创建一个springboot项目,基于idea这个教程很多,就不多说了。
4.pom加activemq依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
5.写一个controller类
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
/**
* 基于队列,点对点
*/
@RequestMapping("sendMsg")
public void sendMsg(){
jmsMessagingTemplate.convertAndSend("my_msg","这就行了?");
}
@RequestMapping("/sendMap")
public void sendMap() {
Map map = new HashMap();
map.put("name", "lucky");
map.put("content", "幸运儿?");
jmsMessagingTemplate.convertAndSend("my_map", map);
}
/**
* 基于主题,发布/订阅
*/
@RequestMapping("sendTopic")
public void sendTopic(){
for(int i = 0;i < 10;i++){
jmsMessagingTemplate.convertAndSend("my_topic_1", "这是topic:" + i);
}
}
前两个是基于队列,点对点模式,后一个是基于主题,发布/订阅。
6.写一个类来接受点对点模式消息
@Component
public class QueueConsumer {
@JmsListener(destination = "my_msg")
public void getMsg(String text){
System.out.println(">>>>>>>>>>>>>>>>>>>msg:" + text);
}
@JmsListener(destination = "my_map")
public void readMap(Map map) {
System.out.println(">>>>>>>>>>>>>>>>>>map:" + map);
}
}
7.写两个类来接受发布/订阅模式消息
@Component
public class TopicConsumerA {
// 使用JmsListener配置消费者监听的队列,其中text是接收到的消息
@JmsListener(destination = "my_topic_1")
public void receiveQueue(String text) {
System.out.println("ConsumerA收到的消息为:" + text);
}
}
@Component
public class TopicConsumerB {
@JmsListener(destination = "my_topic_1")
public void receiveQueue(String text) {
System.out.println("ConsumerB收到的消息为:" + text);
}
}
8.配置文件application.properties
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.in-memory=true
spring.activemq.pool.enabled=false
spring.jms.pub-sub-domain=true
注意:spring.jms.pub-sub-domain=true这个配置
这个地方设置为true时只能用发布/订阅模式,设置为false时候只能用点对点模式。也就是说,只能用一种模式,怎样把两种模式放在一起,还没弄明白。
最后运行项目就行了。
这里就是简单介绍一个springboot简单整合activemq一,性能啊,什么些别的配置的东西,额,我也不太熟悉,看了很多大神的文章,表示感谢,留个记录,方便自己学习,也是属于刚刚学习的阶段,要是有什么不对的,欢迎指正。