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();
            }
        }
    }
}

接收消息

    结果展示
经验分享 程序员 微信小程序 职场和发展