我正在尝试实现一些AtLeastOnceDelivery装饰器,以便为不同的参与者提供可靠的消息传递。因此,这样的装饰器试图处理相当密集的消息传递,并将与应用程序共享生命周期。
根据AtLeastOnceDelivery documentation的说法,deliveryId是一个严格单调递增的序列号,没有间隔(长)。
问题是:当值溢出max long时会发生什么?akka-persistence能正确处理这种情况吗?
发布于 2017-07-19 21:35:45
快速浏览一下AtLeastOnceDelivery source code就会发现,目前还没有合适的方法来处理Long溢出情况。
我相信没有处理的原因是因为溢出的可能性很小。Scala Long最大值为9223372036854775807。客观地说,即使您每天处理10亿条消息,也需要25269512年才能达到最大值。
https://stackoverflow.com/questions/45140901
复制相似问题