Повторение выполнения обработчика события - PullRequest
0 голосов
/ 07 декабря 2018

Контекст : мое приложение использует репозиторий для истории, а другой - для снимка текущей ситуации.Когда происходит изменение в репозитории истории, я хочу, чтобы снимок также обновлялся, и я использую для этого пользовательские обработчики событий.

Проблема : такие обработчики событий выполняютсядважды.

Причина, по-моему, : обработчики работают в другом репозитории, и они запускают одно и то же событие.

Хотя я слушаю события только изодин репозиторий, но я не знаю, как это сделать, и я не уверен, что вышеупомянутое является причиной дублированного выполнения.

Фрагмент кода содержит обработчики:

@HandleAfterCreate
public void handleAfterCreateOrUpdate( Subscription subscription ) {
    snapshotRepository
        .getMapCache( subscriptionsMapName )
        .fastPut( subscription.getIdentifier(), subscription );
}

@HandleAfterDelete
public void handleAfterDelete( Subscription subscription ) {
    snapshotRepository
        .getMapCache( subscriptionsMapName )
        .fastRemove( subscription.getIdentifier() );
}
...