如何在ExpiringMap中定义最大大小

时间:2016-09-14 23:32:06

标签: java apache maven caching

如何在ExpiringMap中定义最大尺寸。我想确保一次不会有更多N条消息存储在ExpiringMap中。

ExpirationListener listener = new ExpirationListener();
ExpiringMap<String, String> map = ExpiringMap.builder()
                    .expiration(180, TimeUnit.SECONDS)
                    .expirationPolicy(ExpiringMap.ExpirationPolicy.CREATED)
                    .expirationListener(listener)
                    .build();

所以,我想在180秒之后指定只插入下一个值到这个地图。

注意:有多个线程正在写入此Map。所以它也需要线程安全。

说MSG1是第0秒,MSG1是第1秒,MSG2是第2秒,然后是180秒,我应该可以添加一条消息,在第181秒之后,我应该能够再添加一条消息。

由于较旧版本会继续过期并从地图中删除。

如何实现这一目标?请帮忙。 我阅读了文档,它们没有定义MAX_SIZE

的任何功能

0 个答案:

没有答案