SpringBoot整合ActiveMQ

1. 引入依赖

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-activemq</artifactId>

</dependency>

2. springboot配置文件:

spring:
  activemq:
    broker-url: failover:(nio://127.0.0.1:61616)
    user: admin
    password: admin
    in-memory: false #是否启用内存模式(就是不安装MQ,项目启动时同时启动一个MQ实例)
    packages:
      trust-all: true #信任所有的包
    pool:
      enabled: false
    producerTopic: ledTopic # 生产者会话topic
    consumerTopic: ledTopic # 消费者会话topic

3. ActiveMQ配置文件:

@Configuration
@EnableJms 
@SuppressWarnings("all")
public class ActiveMQConfig
{
    @Value("${spring.activemq.producerTopic}")
    private String producerTopic;
    @Bean
    public JmsListenerContainerFactory jmsTopicListenerContainerFactory(ConnectionFactory connectionFactory)
    {
        DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
        factory.setConnectionFactory(connectionFactory);
        factory.setPubSubDomain(true);
        return factory;
    }
    @Bean
    public Topic topic()
    {
        return new ActiveMQTopic(producerTopic);
    }
}

4. 创建生产者

@Slf4j
@Component
public class ActiveMQProducer
{
    @Autowired
    private JmsMessagingTemplate jmsTemplate;
    
    @Autowired
    private Topic topic;
    
    public void sendTopicMsg(String msg)
    {
        log.info("发送消息:" + msg);
        jmsTemplate.convertAndSend(topic, msg);
    }
}

5. 创建消费者

@Slf4j
@Component
public class ActiveMQConsumer
{
    // 接收topic类型消息
    // containerFactory对应配置类中注册JmsListenerContainerFactory的bean名称
    @JmsListener(destination = "${spring.activemq.consumerTopic}", containerFactory = "jmsTopicListenerContainerFactory")
    public void ListenTopic(String msg)
    {
        log.info("收到消息:" + msg);
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值