<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> </dependency>
在调试过程中红色参数一定要设置为false。测试成true会报错。一直没有找到原因,TBD。
spring.activemq.broker-url=tcp://xxx.xxx.xxx.xxx:61616 spring.activemq.user=admin spring.activemq.password=admin spring.activemq.pool.enabled=false spring.activemq.pool.max-connections=100
启动类添加@EnableJms注解。JmsListenerContainerFactory用于支持既能订阅有能点对点。最后一段代码中用到
@EnableJms
……
@Bean public JmsListenerContainerFactory<?> jmsListenerContainerFactoryTopic(ConnectionFactory activeMQConnectionFacotry) { DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory(); bean.setPubSubDomain(true); bean.setConnectionFactory(activeMQConnectionFacotry); return bean; }
public interface ProducterService { public void sendMessage(Destination destination, final String message); public void sendMessage(final String message); public void publish(final String msg); }
@Service public class ProducterServiceImpl implements ProducterService { @Autowired private Queue queue; @Autowired private JmsMessagingTemplate jmsTemplate; @Override public void sendMessage(final String message) { jmsTemplate.convertAndSend(this.queue,message); } @Override public void sendMessage(Destination destination, final String message) { jmsTemplate.convertAndSend(destination,message); } @Autowired private Topic topic; @Override public void publish(String msg) { jmsTemplate.convertAndSend(this.topic,msg); } }
@RestController @RequestMapping("/order") public class OrderMQController { @Autowired private ProducterService producter; @RequestMapping("/done") public Object order (String msg) { producter.sendMessage(msg); return "success"; } @RequestMapping("/done1") public Object order1 (String msg) { Destination destination = new ActiveMQQueue("order.queue"); producter.sendMessage(destination,msg); return "success"; } @RequestMapping("/publish") public Object publishOrder(String msg) { producter.publish(msg); return "success"; } }
@Component public class OrderConsumer { @JmsListener(destination = "order.queue") public void receiveQueue(String text) { System.out.println("OrderConsumers收到:"+text); } }
@Component public class TopicConsumer { // @JmsListener如果不指定独立的containerFactory的话只能支持一直模式:或者是点对点,或者是消息订阅 @JmsListener(destination = "kevin.topic", containerFactory="jmsListenerContainerFactoryTopic") public void receiveTopic1(String text) { System.out.println("TopicConsumers1收到:"+text); } @JmsListener(destination = "kevin.topic", containerFactory="jmsListenerContainerFactoryTopic") public void receiveTopic2(String text) { System.out.println("TopicConsumers2收到:"+text); } @JmsListener(destination = "kevin.topic") public void receiveTopic3(String text) { System.out.println("TopicConsumers3收到:"+text); } }
@Component public class TopicConsumer { // @JmsListener如果不指定独立的containerFactory的话只能支持一直模式:或者是点对点,或者是消息订阅 @JmsListener(destination = "kevin.topic", containerFactory="jmsListenerContainerFactoryTopic") public void receiveTopic1(String text) { System.out.println("TopicConsumers1收到:"+text); } @JmsListener(destination = "kevin.topic", containerFactory="jmsListenerContainerFactoryTopic") public void receiveTopic2(String text) { System.out.println("TopicConsumers2收到:"+text); } @JmsListener(destination = "kevin.topic") public void receiveTopic3(String text) { System.out.println("TopicConsumers3收到:"+text); } }
相关推荐
SpringBoot与ActiveMQ的整合是Java开发中常见的一项任务,特别是在构建分布式系统时,消息队列作为解耦组件起着至关重要的作用。本资源提供的"springboot-activemq.zip"是一个示例项目,用于演示如何在SpringBoot...
springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot...
而ActiveMQ是Apache出品的一款开源消息中间件,它遵循JMS(Java Message Service)规范,用于处理应用程序之间的异步通信。本教程将详细介绍如何在Spring Boot项目中集成ActiveMQ,实现消息接收的Demo。 首先,我们...
SpringBoot整合框架各种实用的组件技术点以及一些框架重要技术点的项目案例的实现,纯属个人技术积累和框架学习,有缺漏之处请指出。 主体版本号 java v1.8 springboot v2.0.5.RELEASE 各技术点预览目录 组件名称...
activemq-parent-5.10.0-source-release.zip activemq-parent-5.10.2-source-release.zip activemq-parent-5.12.3-source-release.zip apache-activemq-5.10.2-bin.tar.gz apache-activemq-5.11.4-bin.zip apache-...
springboot + activemq 整合 ,其中springboot-activemq-consumer 是消费端,springboot-activemq-producer 生成者 ,启动生成者,会默认生成100个消息,启动消费端,会消费生产的100个消息
1.解压 ...ACTIVEMQ_HOME=/opt/apache-activemq-5.15.12 PATH=/opt/apache-activemq-5.15.12/bin:$PATH export ACTIVEMQ_HOME PATH 5.activemq的后台默认端口是61616,前台访问端口是8161
springboot-learning-1 springboot框架相关技术的案例项目及使用springboot框架时的需注意点 项目介绍 SpringBoot集成框架各种实用的组件技术点以及一些框架重要技术点的项目案例的实现,纯属个人... SpringBoot整合E
Apache ActiveMQ是世界上最流行的开源消息代理和队列服务器,它基于Java Message Service(JMS)规范,为分布式系统提供高效、可靠和可扩展的消息传递功能。这个“apache-activemq-5.9.0-bin”压缩包包含了Apache ...
ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。 activemq的queue和topic JMS中定义...
添加基于消息的最终一致性分布式事务解决方法+springboot整合rocketmq 四期: 缓存和mysql数据一致性问题的解决方案+redis分布式锁解决缓存雪崩和缓存击穿的问题 # 部署: 先启动提供者,再启动web消费者 java -...
在本文中,我们将深入探讨如何使用SpringBoot、ActiveMQ和MQTT来实现消息的发送与接收。这是一个典型的分布式系统中的消息通信场景,其中SpringBoot作为应用程序框架,ActiveMQ作为消息中间件,而MQTT(Message ...
Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java Message Service(JMS)规范,用于在分布式系统中高效地传输数据。这个压缩包"apache-activemq-5.8.0-bin.zip"包含了ActiveMQ 5.8.0版本的...
springboot整合 activeMq 消费者 消费接收消息 包含队列模式点对点发 以及 主题模式一对多 这是消费者的demo consumer 。 里面有消息重发机制,手动确认ACK模式。 配合 producer 生产者demo使用。
在IT行业中,Spring Boot和ActiveMQ的整合是一个常见的任务,特别是在构建分布式系统和微服务架构时。Spring Boot以其简化配置和快速开发的特性受到广泛欢迎,而ActiveMQ作为一款开源的消息中间件,提供了消息队列...
《ActiveMQ-CPP库3.9.5源代码解析与应用》 ActiveMQ-CPP库是Apache ActiveMQ项目的一部分,它提供了一套C++接口,用于与ActiveMQ消息代理进行通信。这个库允许开发者在C++应用程序中实现高级消息队列协议(AMQP)和...
java springboot整合activemq工程 #activemq配置 #默认情况下activemq提供的是queue模式 true是可以使用topic,false是仅使用queue模式 spring.jms.pub-sub-domain: true # 设置连接的activemq服务器 spring....
spring boot 实践学习案例,与其它组件结合如 mybatis、jpa、dubbo、redis、mongodb、memcached、kafka、rabbitmq、activemq、elasticsearch、security、shiro等 #### Spring Boot 版本 - 2.0.3.RELEASE #### 模块...