簡體   English   中英

Java:如果集合元素對特定超時處於非活動狀態,則刪除它們

[英]Java: remove collection elements if they are inactive for specific timeout

我有一個Web應用程序。 我將用戶會話存儲在集合中。 我還希望能夠續訂用戶會話。 因此,我需要在一段時間內存儲甚至不活動的用戶連接,如果它們在大約一天內處於非活動狀態,我應該刪除它們。 喜歡: expirationList.add(userSesion, timeout); ,但每次調用userSesion的方法時,我都要重置超時。

問題:這樣的集合是否有任何實現?

你可以使用一個整數是自上次活動以來的時間的地圖。 然后,您可以獲得具有超過9000或更大的整數的所有用戶。

我通過在對象上存儲時間戳來實現類似的東西。 每次使用對象時更新時間戳。 當您遍歷要刪除的項的集合或隊列時,請先檢查時間戳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM