2017-07-17 58 views
1

我試圖實施爲不同的演員可靠的消息傳遞一些AtLeastOnceDelivery裝飾AtLeastOnceDelivery擔保。所以這樣的裝飾器試圖處理非常密集的消息,並將與應用程序共享lyfecycle。deliveryId owerflow從阿卡持久

根據AtLeastOnceDelivery documentation的deliveryId是無間隙(長)嚴格單調遞增的序列號。

的問題是:當值溢出最大久了會發生什麼? akka-persistence是否正確處理這種情況?

+1

快速查看源代碼,告訴我,沒有什麼替代處理的情況。我認爲這是因爲環繞是不太可能的。 Scala Long的最大值是9223372036854775807.爲了說明這一點,即使您每天處理了10億條消息,在達到最大長度時也需要25269512年。 –

+0

@JaakkoPallari我認爲這是一個答案。請重新發布,我會接受它。謝謝! – Silk0vsky

回答

2

快速查看AtLeastOnceDelivery source code告訴我沒有任何東西可以處理溢出情況。

我相信爲什麼有沒有適當處理的原因是因爲溢出的可能性很小。斯卡拉Long最大值爲9223372036854775807要地理解這一點,即使你每天處理的一個十億的消息,它會採取25269512年直到達到最大值。