我们非常简单地使用JCS。没有分发或任何东西,简单地:

JCS jcs = JCS.getInstance("region-name");


我正在尝试注册某种侦听器,当元素从缓存中删除或过期时,该侦听器可用于接收通知/事件...

我已经研究了JCS javadoc一段时间了,并且尝试了:
-在缓存的默认ElementAttributes中添加IElementEventHandler的实现...永远不会被调用。
-使用ICacheObserver的各种实现来注册ICacheListener,但是永远不会被调用。我不一定要确定这一点是正确的方法,因为我认为这是为了更高级地使用JCS ...

有谁知道如何(或者如果有可能)注册某种侦听器/观察者/什么可以完成此任务?我的最终目标是基本上可以从缓存中删除某些内容时得到通知...我并不特别在乎它是否不是一个巨大的麻烦:P

最佳答案

从对JCS源代码的简短回顾中可以看出,这些接口似乎仅与远程缓存相关联,而我从未使用过。此外,我检查了LRUMemoryCache和其他一些数据,看起来要删除的调用未链接到任何事件处理程序。长话短说,我无法在JCS中找到满足您要求的任何内容。

我不会说这是不可能的,但我会说这看起来不太可能。

您可以签出源here并进一步查看。

祝好运。

09-27 18:49