Могу ли я прослушать несколько кэшей, используя один и тот же экземпляр com.tangosol.util.MapListener?
Могу ли я прослушать несколько Coherence Cache, используя один com.tangosol.util.MapListener
пример? Как видно из приведенного ниже фрагмента кода, я создал экземпляр 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);
}
1 ответ
Можно, но может быть сложно определить, какой карте соответствует событие. Если вам нужно сохранить события отдельно, но вам нужно сохранить общее состояние, я бы предложил создать отдельные объекты прослушивателя, но они оба содержат ссылку на один общий объект состояния.