Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如果集合元素在特定超时期间处于非活动状态,则删除它们_Java_Jakarta Ee_Collections_Timeout - Fatal编程技术网

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
方法