Могу ли я прослушать несколько кэшей, используя один и тот же экземпляр 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 ответ

Можно, но может быть сложно определить, какой карте соответствует событие. Если вам нужно сохранить события отдельно, но вам нужно сохранить общее состояние, я бы предложил создать отдельные объекты прослушивателя, но они оба содержат ссылку на один общий объект состояния.

Другие вопросы по тегам