springboot 整合activemq
Windows系统安装ActiveMQ参考:https://www.cnblogs.com/pxblog/p/14580404.html
1、配置连接信息
spring:
activemq:
broker-url: tcp://192.168.1.28:61616
user: admin
password: 123456
packages:
trust-all: true
jms:
pub-sub-domain: true
引入maven信息
<!-- 整合消息队列ActiveMQ --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <!-- 如果配置线程池则加入 --> <dependency> <groupId>org.messaginghub</groupId> <artifactId>pooled-jms</artifactId> </dependency> <!--消息队列连接池--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>5.15.0</version> </dependency>
2、增加自定义配置
ActiveMqConfig.java
import org.apache.activemq.command.ActiveMQQueue; import org.apache.activemq.command.ActiveMQTopic; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.jms.Queue; import javax.jms.Topic; @Configuration @EnableJms public class ActiveMqConfig{ @Value("${queue}") private String queueName; @Value("${topic}") private String topicName; @Bean public Queue queue(){ return new ActiveMQQueue(queueName); } @Bean public Topic topic(){ return new ActiveMQTopic(topicName); } }
生产者
ProducterService.java
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMapping; import javax.jms.Queue; import javax.jms.Topic; import java.util.List; /** * 生产者 */ @Component public class ProducterService{ @Autowired private JmsMessagingTemplate jmsMessagingTemplate; @Autowired private Queue queue; @Autowired private Topic topic; public void send1(String msg){ jmsMessagingTemplate.convertAndSend(queue, msg); } public void sendQuene(Weixin object){ jmsMessagingTemplate.convertAndSend(queue, object); } public void sendTopic(Weixin object){ jmsMessagingTemplate.convertAndSend(topic, object); } }
消费者
ConsumerService.java
import org.springframework.jms.annotation.JmsListener; import org.springframework.stereotype.Component; import java.util.List; /** * 消费者 */ @Component public class ConsumerService{ @JmsListener(destination = "${queue}") public void receive12(String str) { System.out.println(str); System.out.println(11121); } @JmsListener(destination = "${topic}") public void receive2(Object object) { System.out.println(object); System.out.println(1112); } @JmsListener(destination = "${topic}") public void receive3(List list) { System.out.println(list.size()); System.out.println(11144); } }
调用方式:
/** * 注入 */ @Autowired private ProducterService producterService; /** * 调用 */ producterService.sendQuene("11");
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
分类:
JAVA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了