JBossCache は初めてです。ユーザー ドキュメントを読むと、使用する Eviction クラスにリスナーを追加できると書かれていますが、構成ファイルにリスナーを追加する方法、または追加する方法を見つけることができませんでした。
メソッド @NodeEvicted で @CacheListener を追加しようとしましたが、そのメソッド
@CacheListener
public class EvictionListener {
@NodeEvicted
public void nodeEvicted(NodeEvent ne) {
System.out.println("Se borro el nodo");
}
}
それをキャッシュインスタンスに追加します
CacheFactory factory = new DefaultCacheFactory();
this.cache = factory.createCache();
EvictionListener listener = new EvictionListener();
this.cache.create();
this.cache.addCacheListener(listener);
しかし、sysout は実行されません。それをテストするために、単純な Main 値を実行しています。これは私が使用している構成値です:
<jbosscache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:jbosscache-core:config:3.2">
<transaction transactionManagerLookupClass="org.jboss.cache.transaction.GenericTransactionManagerLookup"/>
<eviction wakeUpInterval="20">
<default algorithmClass="org.jboss.cache.eviction.FIFOAlgorithm" wakeUpInterval="20">
<property name="maxNodes" value="20" />
</default>
</eviction>
</jbosscache>