FolkMQ v1.7.8

时效消息(TTL)

1、介绍

“时效消息”,是在 “普通消息” 的基础上,如果指定时间内未成功消费,则放弃不要了。

  • 生产者发布消息,会要求服务端给确认(confirm),否则异常提醒
  • 服务端收到消息,并转到队列后,会答复一个接收确认
  • 服务端派发消息,会要求消费者给回执(ack)
    • 如果派发失败,会不断延时重试。如果指定时间内未成功消费,则放弃不要了。
  • 消费者消费后,会答复一个消费回执

2、代码演示

发布“时效消息”:

//例:1小时内有效
let expiration = new Date(System.currentTimeMillis() + 60_000 * 60;

//同步
client.publish("demo.topic", new MqMessage("hello").expiration(expiration));
//异步
client.publishAsync("demo.topic", new MqMessage("hello").expiration(expiration));