Skip to content

消息队列

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-group

2. 发送消息

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);
    }
}

下一步

示例代码

查看完整的示例代码:消息队列示例

Released under the Apache License 2.0