FolkMQ v1.7.8

消费者 - 订阅

1、订阅主题,并自动 ACK

订阅接口的参数,依次为:主题,消费处理。

//客户端
MqClient client = FolkMQ.createClient("folkmq://127.0.0.1:18602")
        .nameAs("demoapp")
        .connect();

//订阅主题,并指定加入的消费者分组
client.subscribe("demo.topic", message -> {
    //消费
    System.out.println(message);
});

2、订阅主题,并手动 ACK

手动 ACK 适合异步消费,或者控制性强的场景。

//客户端
MqClient client = FolkMQ.createClient("folkmq://127.0.0.1:18602")
        .autoAcknowledge(false)
        .nameAs("demoapp")
        .connect();

//订阅主题,并指定加入的消费者分组
client.subscribe("demo.topic", message -> {
    RunUtils.async(() -> {
        try{
            //消费
            System.out.println(message);

            //手动 ACK
            message.acknowledge(true);
        }catch(Exception e){
            //手动 ACK
            message.acknowledge(false);
        }
    });
});

3、取消订阅

取消订阅接口有两个参数,依次为:主题,消费者分组。

//取消订阅
client.unsubscribe("demo.topic");