Java 当ehcache中的条目过期时调用事件

Java 当ehcache中的条目过期时调用事件,java,ehcache,Java,Ehcache,我想实现一种缓存机制,在这种机制中,缓存中的每个条目都有自己的过期时间,而且当某个特定条目过期时,我需要调用一个事件,该事件也会从数据库中删除该条目。到目前为止,我尝试了EhCache,但无法满足我的所有要求(如上所述)。我能够为每个条目创建一个具有固定到期时间的缓存,但我无法对到期事件调用任何方法。因此,我的问题是: 1) 是否可以为ehcahce中的每个条目附上“生存时间”?如果是,请说明如何实现。 2) 我是否需要手动调用CacheEventListener的“notifyElementE

我想实现一种缓存机制,在这种机制中,缓存中的每个条目都有自己的过期时间,而且当某个特定条目过期时,我需要调用一个事件,该事件也会从数据库中删除该条目。到目前为止,我尝试了EhCache,但无法满足我的所有要求(如上所述)。我能够为每个条目创建一个具有固定到期时间的缓存,但我无法对到期事件调用任何方法。因此,我的问题是:

1) 是否可以为ehcahce中的每个条目附上“生存时间”?如果是,请说明如何实现。 2) 我是否需要手动调用CacheEventListener的“notifyElementExpired”方法,还是在条目过期时立即触发该方法?
一个示例代码将不胜感激。提前感谢。

没有过期线程,在后台主动将内容过期,但您可以轻松添加该线程并使用net.sf.ehcache.Cache#getKeysWithExpiryCheck


Ehcache中的过期只会内联发生(或者至少对于未集群的用例,如果您使用Terracotta集群,则不再完全如此)

你检查了吗?是的,我检查了这个链接。我实现了CacheEventListener类,还在ehcache.xml中注册了我的工厂类。但我在implementer类中的方法从未被调用,这就是我在问题中提到第二点的原因。