我通过扩展Ehcache的
Element类来做到这一点:
class EvictonGivenTimestampElement extends Element { private static final long serialVersionUID = ...; private final long evictOn; EvictonGivenTimestampElement(final Serializable key, final Serializable value, final long evictOn) { super(key, value); this.evictOn = evictOn; } @Override public boolean isExpired() { return System.currentTimeMillis() > evictOn; }}其余的操作就像将
EvictOnGivenTimestampElement对象的新实例而不是放入缓存一样简单
Element。
这种方法的优点是您不必担心外部cronjobs等。明显的缺点是Ehcache API的附件,我希望它不会经常更改。



