RabbitMQ 不在启动应用程序时创建交换的任何原因?
Any reason why RabbitMQ doesn't create exchange on start application?
我有奇怪的 RabbitMQ 行为(当然对我而言)。
当我启动 spring 引导 Web 应用程序时,在我的配置中我正在尝试创建 rabbit 直接交换:
@Bean
public DirectExchange exchange() {
return new DirectExchange(directExchangeName);
}
但是当应用程序启动时,我在RabbitMQ管理中找不到这个交换器。但这很有趣,因为在 ApplicationContext 中我可以看到这个 bean。
这个交换器在第一次调用后开始显示在 RabbitMQ 管理中。
我是不是漏了什么?还是我的配置有问题?
您需要 RabbitAdmin
@Bean
来自动声明交换、队列、绑定。
而且,即便如此,在某些组件(侦听器容器、模板)打开连接之前,声明不会发生;管理员注册为连接侦听器。
我有奇怪的 RabbitMQ 行为(当然对我而言)。
当我启动 spring 引导 Web 应用程序时,在我的配置中我正在尝试创建 rabbit 直接交换:
@Bean
public DirectExchange exchange() {
return new DirectExchange(directExchangeName);
}
但是当应用程序启动时,我在RabbitMQ管理中找不到这个交换器。但这很有趣,因为在 ApplicationContext 中我可以看到这个 bean。
这个交换器在第一次调用后开始显示在 RabbitMQ 管理中。
我是不是漏了什么?还是我的配置有问题?
您需要 RabbitAdmin
@Bean
来自动声明交换、队列、绑定。
而且,即便如此,在某些组件(侦听器容器、模板)打开连接之前,声明不会发生;管理员注册为连接侦听器。