博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot配置ActiveMQ
阅读量:7236 次
发布时间:2019-06-29

本文共 2774 字,大约阅读时间需要 9 分钟。

1、添加依赖

org.springframework.boot
spring-boot-starter-activemq
org.apache.activemq
activemq-pool

 

 

2、application.properties配置

spring.activemq.broker-url=tcp://localhost:61616spring.activemq.user=adminspring.activemq.password=admin#queue和topic不能同时使用(我不会同时使用),使用topic的时候,把下面这行解除注释#spring.jms.pub-sub-domain=truespring.activemq.pool.enabled=falsespring.activemq.pool.max-connections=50

 

 

3、生产者

import javax.jms.Destination;import javax.jms.Queue;import javax.jms.Topic;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jms.core.JmsMessagingTemplate;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ProducerController {        @Autowired    private JmsMessagingTemplate jmsMessagingTemplate;     @Autowired    private Queue queue;     @Autowired    private Topic topic;     /*     * 消息生产者     */    @RequestMapping("/sendQueueMsg")    public void sendQueueMsg(String msg) {        this.jmsMessagingTemplate.convertAndSend(this.queue, msg);    }     @RequestMapping("/sendTopicMsg")    public void sendTopicMsg(String msg) {        // 指定消息发送的目的地及内容        System.out.println("@@@@@@@@@@@@@@" + msg);        this.jmsMessagingTemplate.convertAndSend(this.topic, msg);    }}

 

 

 

4、消费者

import org.springframework.jms.annotation.JmsListener;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class ConsumerController {        /**     * 监听和读取queue消息     * @param message     */    @JmsListener(destination="active.queue")    public void readActiveQueue(String message) {        System.out.println("接受到:" + message);        //TODO something    }        /**     * 监听和读取topic消息     * @param message     */    @JmsListener(destination="active.topic")    public void readActiveTopic(String message) {        System.out.println("接受到:" + message);        //TODO something    }}

 

 

 

5、发布/订阅的主题名称

import javax.jms.Queue;import javax.jms.Topic;import org.apache.activemq.command.ActiveMQQueue;import org.apache.activemq.command.ActiveMQTopic;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.jms.annotation.EnableJms;@Configuration@EnableJmspublic class JmsConfig {    private static final String QUEUE_NAME = "active.queue";         private static final String TOPIC_NAME = "active.topic";      @Bean    public Queue queue(){        return new ActiveMQQueue(QUEUE_NAME);    }     @Bean    public Topic topic(){        return new ActiveMQTopic(TOPIC_NAME);    }}

 

 

 

测试

浏览器输入:

http://localhost:8080/sendQueueMsg?msg=dddddd

 

 

转载地址:http://rslfm.baihongyu.com/

你可能感兴趣的文章
wpf z
查看>>
Android 学习笔记之Bitmap位图虽触摸点移动
查看>>
Android项目——传感器的使用
查看>>
ajax不运行success回调而是运行error回调
查看>>
Android View体系(一)视图坐标系
查看>>
WeUI移动页面实现时间选择器(年-月-日-时-分)
查看>>
采用config方式灵活配置我们的Quarz.net中的Job,Trigger
查看>>
Docker管理工具-Swarm部署记录
查看>>
2015 计蒜之道 初赛(4)爱奇艺的自制节目(枚举 贪心)
查看>>
小程序页面可以放置转发按钮,同时开放了微信运动步数背景音乐播放等更多基础能力...
查看>>
如何实现dede首页栏目文章指定调用
查看>>
bbed改动undo段状态(ORA-01578)
查看>>
vijos- P1383盗窃-黑珍珠 (python + 代码优化)
查看>>
python之 前端HTML/CSS基础知识学习笔记
查看>>
终结者:负载均衡之Nginx(一)
查看>>
Python基础之控制流
查看>>
超慢速移动动画使用CSS3实现流畅效果
查看>>
为什么String类是不可变的?
查看>>
Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
查看>>
Hibernate(十五):QBC检索、本地SQL检索和HQL删除
查看>>