以相反的顺序处理ReliableTopic的RingBuffer(最新到最旧)

时间:2019-01-14 21:37:55

标签: hazelcast

我正在使用ReliableTopic重播最近的20000个事件和所有后续事件。

首先,我使用ReliableTopic订阅了ReliableMessageListener,我每次都从0方法返回retrieveInitialSequence()这对我要实现的目标正确吗?

当我订阅ReliableTopic时,我想按照从新到旧的相反顺序处理内部RingBuffer中的所有内容。我可以通过缓冲前InternalRingBuffer.size()个项目然后反转该列表来实现。这取决于能否检索内部RingBuffer的大小,因为它可能不完整。但是,当我在新连接的实例上调用InternalRingBuffer.size()时,尽管缓冲区中有项目,但它会返回0这是为什么,我该如何解决?

1 个答案:

答案 0 :(得分:1)

您已经找到一个错误,并且我创建了以下问题:https://github.com/hazelcast/hazelcast/issues/14468