Как настроить и использовать KeyExpirationEventMessageListener с репозиториями Redis? - PullRequest
0 голосов
/ 06 июня 2019

Наше приложение должно прослушивать события с истекшим сроком действия ключа Redis и обрабатывать данные в ключе.Используя RedisMessageListenerContainer, я могу получить события истечения срока действия, но они содержат только ключ с истекшим сроком действия, а не значение ключа.Следовательно, я хотел использовать KeyExpirationEventMessageListener вместе с Redis Repository.

Но я не в состоянии настроить KeyExpirationEventMessageListener и хотел некоторые рекомендации для того же.

1 Ответ

0 голосов
/ 12 июня 2019

Все, что вам нужно сделать, это зарегистрировать ApplicationListener, например, для. RedisKeyExpiredEvent.

@EnableRedisRepositories(enableKeyspaceEvents = EnableKeyspaceEvents.ON_STARTUP)
public class Config {

    @Bean
    ApplicationListener<RedisKeyExpiredEvent<Person>> eventListener() {
        return event -> {
            System.out.println(String.format("Received expire event for key=%s with value %s.",
                    new String(event.getSource()), event.getValue()));
        };
    }
}

Вы можете найти полный образец здесь .

...