我是Spring-Integration的新手。
我的用例是:
监听 RabbitMQ队列/主题,获取消息,处理消息,将其发送到其他消息代理(大多数情况下它将是另一个 RabbitMQ 实例(。
预期负载:5000 条消息/秒
在应用程序属性中,我们可以为一个主机设置配置。
如何在两个消息代理之间使用 Spring 集成?
我看到的所有示例都是针对一个消息代理的。任何开始使用两个消息代理和 Spring 集成的指针。
问候
马赫什
既然你提到了一个application.properties
听起来你使用 Spring Boot 及其自动配置功能。这是您问题中非常重要的细节,因为 Spring Boot 对自动配置有意见,并且您实际上只能自动配置一个代理连接配置。如果您想在同一应用程序中拥有另一个类似的应用程序,那么您应该忘记自动配置功能。您仍然可以使用 上述application.properties
,但您必须手动管理它们。
既然你谈论的是 RabbitMQ 连接,所以你需要排除RabbitAutoConfiguration
并手动管理所有必需的 bean:
@SpringBootApplication(exclude = RabbitAutoConfiguration.class)
您仍然可以在某些@Configuration
类上使用@EnableConfigurationProperties(RabbitProperties.class)
,以便能够注入该RabbitProperties
并填充相应的CachingConnectionFactory
。对于第二个代理,您可以引入自己的@ConfigurationProperties
,或者只是通过@Value
手动配置读取属性的所有内容。有关手动连接工厂配置的更多信息,请参阅 Spring AMQP 参考手册:https://docs.spring.io/spring-amqp/docs/2.2.1.RELEASE/reference/html/#connections