ssm整合ActiveMQ消息中间件
模块之间的依赖也称之为耦合。而耦合越多,之后的维护工作就越困难。那么如果改善系统模块调用关系、减少模块之间的耦合呢?我们接下来就介绍一种解决方案----消息中间件
1. Spring整合ActiveMQ
环境配置
-
官网地址: 下载成功后解压,进入bin目录执行 ./active start即可 访问web页面, 服务器地址:8161 用户名密码均为 admin
1.1 环境准备
-
pom文件引入坐标依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!--Spring整合activeMQ--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.14.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.1.7.RELEASE</version> </dependency>
-
application配置文件中整合activeMq
5.1 spring整合后发送消息
-
结果展示
5.2 spring整合后接收消息
-
application配置文件中需要配置接收消息的参数 更改点对点和发布订阅模式只需要更改配置文件即可
定义监听器
package com.pyg.search.service.listener; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; /** * @ Description * @ auther 宁宁小可爱 * @ create 2020-02-05 15:02 */ public class MyMessageListener implements MessageListener { @Override public void onMessage(Message message) { // 获取消息 if (message instanceof TextMessage){ TextMessage msg = (TextMessage) message; try { String text = msg.getText(); System.out.println("接收消息: "+text); } catch (JMSException e) { e.printStackTrace(); } } } }
接收消息
-
结果展示