# MiniMQ
**Repository Path**: lxihaa/mini-mq
## Basic Information
- **Project Name**: MiniMQ
- **Description**: 一个简单的java-mq程序,开箱即用。
- **Primary Language**: Unknown
- **License**: WTFPL
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2023-05-15
- **Last Updated**: 2023-05-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Mini-MQ
一个简单的mq程序,开箱即用。
## 一、快速开始
### 1.引入依赖
```xml
com.uhu
minimq
1.0
```
### 2.注册一个消息主题
参数1:主题
参数2:消息消费者
```java
// 注册一个主题和消息处理
SubjectRegistry.register("吃饭", (message) -> System.out.println(LocalDateTime.now() + "|收到消息:吃" + message.getContent()));
```
### 3.创建消息对象
#### (1)普通消息
```java
/**
* 字符消息
*/
static class MyMessage extends SimpleMessage {
/**
* 全参构造方法
* @param subject 主题
* @param content 消息内容
*/
public MyMessage(String subject, String content) {
super(subject, content);
}
}
```
#### (2)延时消息
```java
static class MyDelayedMessage extends AbstractDelayedMessage {
/**
* 延时消息构造方法
* @param subject 主题
* @param content 消息内容
* @param delayedTime 延时时间
* @param timeUnit 延时时间单位
*/
public MyDelayedMessage(String subject, String content, Long delayedTime, ChronoUnit timeUnit) {
super(subject, content, delayedTime, timeUnit);
}
}
```
### 4.发送消息
```java
// 发送消息
for (int i = 0; i < 100; i++) {
MessageSender.send(new MyMessage("吃饭", "拉面"));
}
// 发送延时消息
for (int i = 0; i < 10; i++) {
MessageSender.send(new MyDelayedMessage("吃饭", LocalDateTime.now() + "时做的的拉面", i + 1L, ChronoUnit.SECONDS));
}
```