消息队列
LCGYL Framework 提供了统一的消息队列抽象,支持多种消息中间件。
核心特性
- 统一 API:统一的消息发送和接收接口
- 多种实现:支持 RabbitMQ、Kafka、RocketMQ 等
- 消息序列化:JSON、Protobuf、Avro 等
- 消息确认:自动和手动确认机制
- 死信队列:失败消息处理
- 消息追踪:完整的消息链路追踪
快速开始
1. 配置消息队列
properties
# application.properties
# RabbitMQ 配置
messaging.rabbitmq.host=localhost
messaging.rabbitmq.port=5672
messaging.rabbitmq.username=guest
messaging.rabbitmq.password=guest
messaging.rabbitmq.virtualHost=/
# Kafka 配置
messaging.kafka.bootstrapServers=localhost:9092
messaging.kafka.groupId=lcgyl-group2. 发送消息
java
import com.lcgyl.messaging.MessageProducer;
public class MessageExample {
private final MessageProducer producer;
public void sendMessage() {
// 发送简单消息
producer.send("user.created", "User created: John");
// 发送对象消息
User user = new User("John", "john@example.com");
producer.send("user.created", user);
}
}3. 接收消息
java
import com.lcgyl.messaging.MessageListener;
@MessageListener(topic = "user.created")
public class UserCreatedListener {
public void onMessage(User user) {
System.out.println("收到用户创建消息: " + user.getName());
// 处理业务逻辑
sendWelcomeEmail(user);
}
}下一步
示例代码
查看完整的示例代码:消息队列示例