# 基于ActiveMQ的简单消息通讯web应用 **Repository Path**: hongfff/Middleware_Lab_1 ## Basic Information - **Project Name**: 基于ActiveMQ的简单消息通讯web应用 - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JMS Web Client 一个基于 Spring Boot 的 JMS(Java Message Service)Web 客户端,提供图形化界面用于连接消息队列、发送和接收消息。 ## 项目简介 Middleware_Lab_1 是一个用于学习和测试 JMS 功能的 Web 应用程序。它允许用户通过浏览器连接到 ActiveMQ 或其他 JMS 消息代理,执行发送文本消息、文件消息、接收消息、实时监听队列等操作。 ## 功能特点 - **连接管理**:支持连接到支持 JMS 的消息代理(如 ActiveMQ),支持认证 - **文本消息**:向指定队列发送文本消息 - **文件消息**:支持上传文件并将文件内容作为消息发送 - **消息接收**:从指定队列接收消息,支持超时设置 - **实时监听**:启动消息监听器,实时接收队列中的新消息 - **队列查询**:查看队列当前的消息数量 - **消息管理**:查看接收到的消息列表,支持清空消息 ## 技术栈 - **后端**:Spring Boot 2.x + Spring JMS - **前端**:HTML + CSS + JavaScript(原生) - **消息中间件**:ActiveMQ(或其他 JMS 兼容的 broker) - **构建工具**:Maven ## 快速开始 ### 环境要求 - JDK 8 或更高版本 - Maven 3.x - 运行中的 JMS 消息代理(如 ActiveMQ) ### 构建与运行 ```bash # 克隆项目后,进入目录 cd Middleware_Lab_1 # 使用 Maven 构建项目 ./mvnw clean package # 启动应用 ./mvnw spring-boot:run ``` 应用启动后,访问 `http://localhost:8080` 打开 Web 界面。 ### 配置说明 在 `src/main/resources/application.properties` 中可以配置应用端口等参数。 ## 使用说明 1. **连接消息代理**:在界面输入 Broker URL(如 `tcp://localhost:61616`)和可选的用户名密码,点击连接 2. **发送文本消息**:输入队列名称和消息内容,点击发送 3. **发送文件消息**:选择本地文件,点击发送,文件将以 Base64 编码发送 4. **接收消息**:输入队列名称和超时时间(毫秒),点击接收 5. **监听模式**:指定队列名称启动监听,新消息会自动显示在消息列表中 ## API 接口 | 接口 | 方法 | 参数 | 说明 | |------|------|------|------| | `/connect` | POST | brokerUrl, username, password | 连接到 JMS broker | | `/disconnect` | POST | - | 断开连接 | | `/send` | POST | queueName, message | 发送文本消息 | | `/sendFile` | POST | queueName, file | 发送文件消息 | | `/receive` | POST | queueName, timeout | 接收消息 | | `/startListening` | POST | queueName | 启动监听 | | `/stopListening` | POST | - | 停止监听 | | `/messages` | GET | - | 获取消息列表 | | `/queueSize` | GET | queueName | 获取队列大小 | | `/status` | GET | - | 获取连接状态 | ## 界面预览 应用提供以下功能区域: - **连接面板**:配置和管理 JMS broker 连接 - **队列信息**:显示当前队列状态 - **消息操作**:发送和接收消息 - **消息列表**:展示接收到的所有消息 ## 注意事项 - 确保 JMS 消息代理已启动并可访问 - 发送大文件时注意 Base64 编码会增加约 33% 的数据量 - 监听模式下会持续消耗资源,不再使用时记得停止 ## 许可证 MIT License