如何在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
的任何功能