差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:basic:queue:notificationbufferwithdelayqueue [2019/03/23 16:32] tony [NotificationBuffer] |
java:basic:queue:notificationbufferwithdelayqueue [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 79: | 行 79: | ||
因為我僅對通知者有興趣,因此我可以將多出來的事件直接省略;假如你對於每次的通知內容都有興趣,你可以在這個物件中將多個NotifiedObject給合併成一個。 | 因為我僅對通知者有興趣,因此我可以將多出來的事件直接省略;假如你對於每次的通知內容都有興趣,你可以在這個物件中將多個NotifiedObject給合併成一個。 | ||
===== Unit Test ===== | ===== Unit Test ===== | ||
+ | 我的單元測試主要有兩個目標,一個是確認重複的通知有被濾掉,第二個則是確認buffer是可以被重複使用兩次以上的: | ||
<code java> | <code java> | ||
@Test(timeout=10*1000) | @Test(timeout=10*1000) | ||
行 132: | 行 133: | ||
} | } | ||
</code> | </code> | ||
+ | ===== 後記 ===== | ||
+ | 針對這樣的需求,Camel的Aggregator是可以達到部分的效果,可以參考[[java:apache_camel:aggregator:helloworld|這篇文章]];我會說部分效果的原因,是因為Aggredator無法根據不同client到達的時間去計算delay,它是以第一個client到達的時間為準。至於要相依於框架還是要自己造輪子,就看各位的考量了。 | ||
===== Reference ===== | ===== Reference ===== | ||
* [[https://www.baeldung.com/java-delay-queue|Guide to DelayQueue]] | * [[https://www.baeldung.com/java-delay-queue|Guide to DelayQueue]] |