Java:如果集合元素在特定超时期间处于非活动状态,则删除它们
我有一个网络应用程序。我将用户会话存储在集合中。我还想有一个能力,以更新用户会话。因此,我需要将不活动的用户连接存储一段时间,如果它们大约一天不活动,我应该删除它们。比如:Java:如果集合元素在特定超时期间处于非活动状态,则删除它们,java,jakarta-ee,collections,timeout,Java,Jakarta Ee,Collections,Timeout,我有一个网络应用程序。我将用户会话存储在集合中。我还想有一个能力,以更新用户会话。因此,我需要将不活动的用户连接存储一段时间,如果它们大约一天不活动,我应该删除它们。比如:expirationList.add(userSesion,timeout),但每次调用userSesion的方法时,都必须重置超时 问题:是否有此类集合的实现?您可以使用一个映射,该映射的整数为自上次激活以来的时间。然后,您可以获得整数超过9000的所有用户或其他任何用户。我通过在对象上存储时间戳实现了类似的功能。每次使用对
expirationList.add(userSesion,timeout)代码>,但每次调用userSesion的方法时,都必须重置超时
问题:是否有此类集合的实现?您可以使用一个映射,该映射的整数为自上次激活以来的时间。然后,您可以获得整数超过9000的所有用户或其他任何用户。我通过在对象上存储时间戳实现了类似的功能。每次使用对象时更新时间戳。当您遍历可能要删除的项目集合或队列时,请先检查时间戳。是,但在这种情况下,我应该自己管理它。如果我能把责任转移给别人那就太好了。检查这个搜索,我找到了与上面相同的示例:@A.J.我在官方文档@A.J.中找不到expireAfterWrite方法,但它存在于CacheBuilder中,谢谢。我可以重置项目的超时吗?链接位于第一条注释中(其中的第二条链接),但您已经找到了它。不客气。我已经读到了番石榴地图,还有超时。但是我在官方文档中找不到expireAfterWrite
方法