ActiveMQ笔记43-SpringBoot整合ActiveMQ之主题消费者

新建maven工程,我的工程名叫SpringBootActiveMQTopicConsumer。

pom.xml,application.yml参考这篇博客:https://blog.csdn.net/qq_36059561/article/details/103843048

注意需要修改的一个地方,在application.yml中spring.jms.pub-sub-domain的值要设置成true,表示topic,下面的myqueue: boot-activemq-queue改成mytopic: boot-activemq-topic。

创建TopicConsumer.java,编写代码,代码如下。

package com.wsy.boot.activemq.consumer;
 
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
 
import javax.jms.JMSException;
import javax.jms.TextMessage;
 
@Component
public class TopicConsumer {
    @JmsListener(destination = "${mytopic}")// 表明JmsListener监听的destination是什么
    public void receive(TextMessage textMessage) throws JMSException {
        System.out.println("消费者收到消息:"+textMessage.getText());
    }
}

创建Main.java,编写代码,代码如下。

package com.wsy.boot.activemq;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

因为是topic,所以需要先启动消费者,再启动生产者,我们启动消费者,再启动生产者,一切顺利,SpringBoot整合ActiveMQ的Topic部分就完成了,如果前面说的SpringBoot整合ActiveMQ的Queue能看懂,这里也就能看懂,只是做了下比较小的改动。

 

你可能感兴趣的:(ActiveMQ)