AvtiveMQ与SpringBoot结合
首先来了解下ActivieMQ的应用场景,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构是大型分布式系统不可缺少的中间件。
详细访问传送门
1.下载ActiveMQ访问地址
得到的是一个zip压缩包,解压后根据系统位数选择运行,笔者是64位所以选择64的目录,点击activemq.bat运行
访问网址http://localhost:8161/ 即可
|- 在 xxx\apache-activemq-5.15.3\conf 目录下打开jetty.xml 配置端口用户密码等信息
|- 配置activeMQ信息
2. 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
- 生产者
@Component
public class JmsProducer {
private final static Logger logger = LoggerFactory.getLogger(JMSConsumer.class);
@Resource
private JmsTemplate jmsTemplate;
public void sendMessage(Destination destination, String message) {
this.jmsTemplate.convertAndSend(destination,message);
}
}
- 消费者
@Component
public class JmsConsumer {
private final static Logger logger = LoggerFactory.getLogger(JMSConsumer.class);
@JmsListener(destination = "springboot.queue.test")
public void receiveQueue(String msg) {
logger.info("接收到消息:{}",msg);
}
}
- 编写简单测试
@Resource
private JmsProducer jmsProducer;
@Test
public void testJms() {
Destination destination = new ActiveMQQueue("springboot.queue.test");
for (int i=0;i<10;i++) {
jmsProducer.sendMessage(destination,"hello" + i);
}
}
6.查看运行
通过这个简单的实例只能让项目跑起来,下一篇文章带各位深入了解ActiveMQ,如有错误,请评论指正