Контекст : мое приложение использует репозиторий для истории, а другой - для снимка текущей ситуации.Когда происходит изменение в репозитории истории, я хочу, чтобы снимок также обновлялся, и я использую для этого пользовательские обработчики событий.
Проблема : такие обработчики событий выполняютсядважды.
Причина, по-моему, : обработчики работают в другом репозитории, и они запускают одно и то же событие.
Хотя я слушаю события только изодин репозиторий, но я не знаю, как это сделать, и я не уверен, что вышеупомянутое является причиной дублированного выполнения.
Фрагмент кода содержит обработчики:
@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() );
}