spring boot 使用redis進行釋出訂閱
阿新 • • 發佈:2018-12-30
@Configuration
public class RedisListenerConfig {
/**
* redis訊息監聽器容器
* 可以新增多個監聽不同話題的redis監聽器,只需要把訊息監聽器和相應的訊息訂閱處理器繫結,該訊息監聽器
* 通過反射技術呼叫訊息訂閱處理器的相關方法進行一些業務處理
* @param connectionFactory
* @param listenerAdapter
* @return
*/
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter
) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
//可以新增多個 messageListener
container.addMessageListener(listenerAdapter, new PatternTopic("index"));
return container;
}
/**
* 訊息監聽器介面卡,繫結訊息處理器,利用反射技術呼叫訊息處理器的業務方法
* @param redisReceiver
* @return
*/
@Bean
MessageListenerAdapter listenerAdapter(RedisReceiver redisReceiver) {
System.out.println("訊息介面卡進來了");
return new MessageListenerAdapter(redisReceiver, "receiveMessage");
}
//使用預設的工廠初始化redis操作模板
@Bean
StringRedisTemplate template(RedisConnectionFactory connectionFactory) {
return new StringRedisTemplate(connectionFactory);
}
}