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);
}
}