以相反的顺序处理 ReliableTopic 的 RingBuffer(从最新到最旧)
Process ReliableTopic's RingBuffer in reverse order (newest to oldest)
我正在使用 ReliableTopic 重播最近 20000 个事件和所有后续事件。
首先,我使用 ReliableMessageListener
订阅 ReliableTopic
,我每次都从 retrieveInitialSequence()
方法返回 0
。 这对我想要实现的目标来说是否正确?
当我订阅 ReliableTopic
时,我想以相反的顺序处理其内部 RingBuffer
中的所有内容,从最新到最旧。我可以通过缓冲第一个 InternalRingBuffer.size()
项然后反转该列表来实现这一点。这依赖于能够检索内部 RingBuffer
的大小,因为它可能未满。但是,当我在新连接的实例上调用 InternalRingBuffer.size()
时,尽管缓冲区中有项目,但它返回 0
。 为什么会这样,我该如何解决?
您发现了一个错误,我创建了以下问题:https://github.com/hazelcast/hazelcast/issues/14468
我正在使用 ReliableTopic 重播最近 20000 个事件和所有后续事件。
首先,我使用 ReliableMessageListener
订阅 ReliableTopic
,我每次都从 retrieveInitialSequence()
方法返回 0
。 这对我想要实现的目标来说是否正确?
当我订阅 ReliableTopic
时,我想以相反的顺序处理其内部 RingBuffer
中的所有内容,从最新到最旧。我可以通过缓冲第一个 InternalRingBuffer.size()
项然后反转该列表来实现这一点。这依赖于能够检索内部 RingBuffer
的大小,因为它可能未满。但是,当我在新连接的实例上调用 InternalRingBuffer.size()
时,尽管缓冲区中有项目,但它返回 0
。 为什么会这样,我该如何解决?
您发现了一个错误,我创建了以下问题:https://github.com/hazelcast/hazelcast/issues/14468