0
在Spring入门指南的以下示例中,容器bean如何获取connectionFactory? Spring Boot是否自己提供了一个connectionFactory?Radis的弹簧配置,bean如何连线?
Getting Started Messaging with Spring Redis
有5种豆:
- 闩
- 接收机
- listenerAdapter
- 模板
- 容器
闩锁首先被创建。然后接收器,因为接收器构造器需要latch.Then listenerAdapter,因为它需要receiver.Both模板和容器都需要connectionFactory。 在代码中,我没有找到名为connectionFactory的任何方法,并用@Bean进行了注释。
@SpringBootApplication
public class Application {
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.addMessageListener(listenerAdapter, new PatternTopic("chat"));
return container;
}
@Bean
MessageListenerAdapter listenerAdapter(Receiver receiver) {
return new MessageListenerAdapter(receiver, "receiveMessage");
}
@Bean
Receiver receiver(CountDownLatch latch) {
return new Receiver(latch);
}
@Bean
CountDownLatch latch() {
return new CountDownLatch(1);
}
@Bean
StringRedisTemplate template(RedisConnectionFactory connectionFactory) {
return new StringRedisTemplate(connectionFactory);
}
}