栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot整合ActiveMQ

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot整合ActiveMQ

SpringBoot整合ActiveMQ
  • 一、添加依赖
  • 二、配置application.yml文件
  • 三、创建ActiveMQ配置类
  • 四、创建生产者
  • 五、创建消费者


SpringBoot版本号2.5.4
一、添加依赖
	
		 org.springframework.boot
		 spring-boot-starter-activemq
	
	
	     org.messaginghub
		 pooled-jms
	
二、配置application.yml文件
spring: 
  activemq: 
    broker-url: tcp://localhost:61316
    close-timeout: 5000
    in-memory: false
    user: admin
    password: admin
    queue-name: my-queue
    topic-name: my-topic
    pool: 
      enabled: true
      max-connections: 10
三、创建ActiveMQ配置类

代码如下(示例):

package com.springboot.activemq;

import javax.jms.Destination;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ProviderController {

    @Autowired
    private Destination          topic;
    @Autowired
    private Destination          queue;
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;

    @RequestMapping("/sendQueue")
    public void sendQueue(String msg) {
        System.out.println("发送队列消息");
        jmsMessagingTemplate.convertAndSend(queue, msg);
    }

    @RequestMapping("/sendTopic")
    public void sendTopic(String msg) {
        System.out.println("发送主题消息:");
        jmsMessagingTemplate.convertAndSend(topic, msg);
    }

}

四、创建生产者
package com.springboot.activemq;

import org.springframework.jms.annotation.JmsListener;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConsumerController {

    @JmsListener(destination = "${spring.activemq.queue-name}", containerFactory = "queueListenerContainerFactory")
    public void receiveActiveQueue(String message) {
        System.out.println("接受到:" + message);
    }

    @JmsListener(destination = "${spring.activemq.topic-name}", containerFactory = "topicListenerContainerFactory")
    public void receiveTopic(String message) {
        System.out.println("接受到:" + message);
    }

    @JmsListener(destination = "${spring.activemq.topic-name}", containerFactory = "topicListenerContainerFactory")
    public void receiveTopic2(String message) {
        System.out.println("接受到:" + message);
    }

}
五、创建消费者
package com.springboot.activemq;

import org.springframework.jms.annotation.JmsListener;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConsumerController {

    @JmsListener(destination = "${spring.activemq.queue-name}", containerFactory = "queueListenerContainerFactory")
    //或  @JmsListener(destination = "my-queue", containerFactory = "queueListenerContainerFactory")
    public void reciveActiveQueue(String message) {
        System.out.println("接受到:" + message);
    }

    @JmsListener(destination = "my-topic", containerFactory = "topicListenerContainerFactory")
    public void receiveTopic(String message) {
        System.out.println("接受到:" + message);
    }

    @JmsListener(destination = "my-topic", containerFactory = "topicListenerContainerFactory")
    public void receiveTopic2(String message) {
        System.out.println("接受到:" + message);
    }

}

Queue模式测试:http://localhost:8888/sendQueue?msg=queueTest

Topic模式测试:http://localhost:8888/sendTopic?msg=topicTest

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号