# triones-message
**Repository Path**: trionesdev/triones-message
## Basic Information
- **Project Name**: triones-message
- **Description**: 消息队列封装 解决在更换队列中间件的时候,不需要修改业务代码
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-14
- **Last Updated**: 2025-03-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Triones Message
对spring项目中用到的一些消息中间件进行封装,解决业务中使用异步消息事件时,
如果需要更换消息中间件,需要修改业务代码的问题。
一般使用的时候,我们只需要区分是队列消息(只有一个订阅者能收到),还是广播消息(所有订阅者都能收到)即可。
支持的消息类型:
- spring event
- redis pub/sub stream
---
## 使用
1. 引入依赖
```xml
com.triones.message
message-spring-boot-starter
1.0.0
```
2. 配置消息中间件
一般情况下,直接使用默认配置即可,有需要的可以根据自己的需求进行配置
3. 注册监听
```java
import com.trionesdev.message.core.Message;
import com.trionesdev.message.core.MessageContainer;
import com.trionesdev.message.core.MessageListener;
@RequiredArgsConstructor
public class Bootstrap {
private final MessageContainer messageContainer;
public void run(){
//注册队列监听
messageContainer.addQueueListener(new MessageListener() {
@Override
public void onMessage(Message message) {
//todo
}
}, "topic");
//注册广播监听
messageContainer.addBroadcastListener(new MessageListener() {
@Override
public void onMessage(Message message) {
//todo
}
}, "topic");
}
}
```
4. 发送消息
发送消息的时候,同样需要区分是队列消息 还是广播消息
```java
import com.trionesdev.message.core.Message;
import com.trionesdev.message.core.MessageContainer;
import com.trionesdev.message.core.MessageListener;
import java.security.MessageDigestSpi;
@RequiredArgsConstructor
public class Bootstrap {
private final MessageContainer messageContainer;
public void run() {
Message message = Message.builder().payload("message").toipc("topic").build();
//发送队列消息
messageContainer.publish(message);
//发送广播消息
messageContainer.boroadcast(message);
}
}
```
----
# 互相吹捧,共同进步