我可以使用同一个 com.tangosol.util.MapListener 实例监听多个缓存吗?

Can I listen to multiple caches using same com.tangosol.util.MapListener instance?

我可以使用单个 com.tangosol.util.MapListener 实例收听多个 Coherence 缓存吗?从下面的代码片段中可以看出,我创建了一个 MapListener 的实例,并使用同一个实例来监听多个一致性缓存。我担心的是,如果从两个缓存生成多个事件,这段代码是否有效?

protected class MapListenerImpl implements MapListener {

    @Override
    public void entryDeleted(MapEvent event) {
        System.out.println("Delete Event: " + event.getOldEntry());
    }

    @Override
    public void entryInserted(MapEvent event) {
        System.out.println("INsert Event: " + event.getNewEntry());

    }

    @Override
    public void entryUpdated(MapEvent event) {
        System.out.println("Update Event: " + event.getNewEntry());

    }       
}

//Main Method
public static void main(String[] args) {
    //Initializing the caches here
    NamedCache mapTrades1;
    NamedCache mapTrades2;

    MapListener listener = new MapListenerImpl();

    mapTrades1.addMapListener(listener);
    mapTrades2.addMapListener(listener);
}

可以,但确定事件对应于哪个地图可能具有挑战性。如果您需要将事件分开但又需要保持共享状态,我建议创建单独的侦听器对象,但让它们都持有对单个共享状态对象的引用。