activeMQ整合springboot简单入门

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一,性能啊,什么些别的配置的东西,额,我也不太熟悉,看了很多大神的文章,表示感谢,留个记录,方便自己学习,也是属于刚刚学习的阶段,要是有什么不对的,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值