0
如果在next()
和publish()
之間使用Disruptor
或publish()
因爲某些其他原因或在可接受的時間內未被調用而引發異常,會發生什麼情況?如果在Disruptor中的next()和publish()之間拋出異常,會發生什麼情況?
什麼是恢復/超時技術來處理這種情況?
如果在next()
和publish()
之間使用Disruptor
或publish()
因爲某些其他原因或在可接受的時間內未被調用而引發異常,會發生什麼情況?如果在Disruptor中的next()和publish()之間拋出異常,會發生什麼情況?
什麼是恢復/超時技術來處理這種情況?
在Disruptor
之內,它自我調用發佈在finally塊中以確保始終調用它們。例如Disruptor.java#1017-1027
由於發佈標記插槽可用於事件處理程序,它們將停止運行,直到發佈調用發生。
恢復策略不會破壞它;)在您準備好使用它並始終調用發佈之前,沒有必要或無需索賠您的插槽。如果您不想發佈您聲明的插槽數據,您可能需要在插槽中放置某種錯誤標記。