Java 简易版 MQ 项目教程
1. 项目目录结构及介绍
mq
├── mq-broker
├── mq-common
├── mq-consumer
├── mq-producer
├── mq-test
├── coveralls.yml
├── .gitignore
├── travis.yml
├── CHANGELOG.md
├── LICENSE.txt
├── README.md
├── cgit.bat
├── cgit.sh
├── pom.xml
├── qrcode.jpg
├── release.bat
├── release.sh
└── release_rm.sh
目录结构说明
- mq-broker: 注册中心模块,负责消息的存储和转发。
- mq-common: 公共代码模块,包含项目中通用的工具类和常量。
- mq-consumer: 客户端模块,负责消息的接收和处理。
- mq-producer: 服务端模块,负责消息的发送。
- mq-test: 测试模块,包含项目的单元测试和集成测试代码。
- coveralls.yml: Coveralls 配置文件,用于代码覆盖率报告。
- .gitignore: Git 忽略文件配置。
- travis.yml: Travis CI 配置文件,用于持续集成。
- CHANGELOG.md: 项目变更日志。
- LICENSE.txt: 项目许可证文件。
- README.md: 项目说明文档。
- cgit.bat: Git 命令批处理文件。
- cgit.sh: Git 命令脚本文件。
- pom.xml: Maven 项目配置文件。
- qrcode.jpg: 项目二维码图片。
- release.bat: 发布脚本批处理文件。
- release.sh: 发布脚本文件。
- release_rm.sh: 发布清理脚本文件。
2. 项目启动文件介绍
启动 Broker
MqBroker broker = new MqBroker();
broker.start();
启动消费者
final MqConsumerPush mqConsumerPush = new MqConsumerPush();
mqConsumerPush.start();
mqConsumerPush.subscribe("TOPIC", "TAGA");
mqConsumerPush.registerListener(new IMqConsumerListener() {
@Override
public ConsumerStatus consumer(MqMessage mqMessage, IMqConsumerListenerContext context) {
System.out.println("---------- 自定义 " + JSON.toJSONString(mqMessage));
return ConsumerStatus.SUCCESS;
}
});
启动生产者
MqProducer mqProducer = new MqProducer();
mqProducer.start();
String message = "HELLO MQ";
MqMessage mqMessage = new MqMessage();
mqMessage.setTopic("TOPIC");
mqMessage.setTags(Arrays.asList("TAGA", "TAGB"));
mqMessage.setPayload(message);
SendResult sendResult = mqProducer.send(mqMessage);
System.out.println(JSON.toJSON(sendResult));
3. 项目配置文件介绍
Maven 依赖配置
在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>mq-broker</artifactId>
<version>0.1.3</version>
</dependency>
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>mq-consumer</artifactId>
<version>0.1.3</version>
</dependency>
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>mq-producer</artifactId>
<version>0.1.3</version>
</dependency>
其他配置文件
- coveralls.yml: 配置 Coveralls 代码覆盖率服务。
- travis.yml: 配置 Travis CI 持续集成服务。
- .gitignore: 配置 Git 忽略的文件和目录。
通过以上配置,您可以顺利启动和配置 Java 简易版 MQ 项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



