按照expire-groups-on-timeout的文檔: 「當由於超時(或由MessageGroupStoreReaper)完成組時,默認情況下該組已過期(完全刪除)。延遲到達的消息將啓動一個新組,但將它設置爲false,以便延遲到達的消息將被丟棄,以後可以使用MessageGroupStoreReaper和empty-group-min-timeout屬性將空組過期。默認值:'true 」「。什麼是Java Config中的超時組超時等效項?
如何在Java Config中實現這一目標?基本上在組超時之後,我希望丟棄遲到的消息,並且一旦所有消息到達,組都會過期,從而不會產生內存泄漏。對於後面的部分,我想讓MessageGroupStoreReaper可以工作。
感謝您的迴應加里。因此,如果我理解正確,我應該設置setExpireGroupsUponTimeout(false),以便該組完成但不會過期,因此元數據仍然存在,並且遲到的消息不會啓動新組並且將被丟棄。並且需要添加收割者以使用minTimeoutForEmptyGroups()設置刪除這些組。這是正確的理解嗎? –
是的,這是正確的。 –
如果我將expireGroupsUponTimeout設置爲true,則遲到的消息將啓動一個新組,但該組也會在組超時值後超時,並且它將過期,對嗎?那時,這些消息將被丟棄。因此,看起來好像我的聚合邏輯只在所有消息到達時纔會執行某些操作,否則在超時時出錯,然後我不需要擔心遲到的消息,也不需要擁有收割者,因爲他們啓動的新組將會過期在下一次超時。我的理解是否正確?或者我需要擔心遲到的信息? –