两个消息代理之间的Spring集成

时间:2019-12-05 14:41:50

标签: spring-boot spring-integration spring-integration-dsl

我是Spring-Integration的新手。

我的用例是:

收听RabbitMQ队列/主题,获取消息,对其进行处理,然后将其发送给其他消息代理(大多数情况下将是另一个RabbitMQ实例)。

预期负载:5000条消息/秒

在application.properties中,我们可以为一台主机设置配置。

如何在两个消息代理之间使用Spring Integration?

我看到的所有示例都是针对一个消息代理的。任何使用两个消息代理和Spring Integration入门的指针。

此致

马西什

1 个答案:

答案 0 :(得分:1)

自从您提到application.properties以来,听起来好像您在使用具有自动配置功能的Spring Boot。这是您问题中非常重要的细节,因为Spring Boot对自动配置有意见,并且您实际上只能自动配置一个代理连接配置。如果您希望在同一应用程序中拥有另一个类似的产品,则应该忘记该自动配置功能。您仍然可以使用上面提到的application.properties,但必须手动进行管理。

由于您谈论的是RabbitMQ连接,因此您需要排除RabbitAutoConfiguration并手动管理所有必需的bean:

@SpringBootApplication(exclude = RabbitAutoConfiguration.class)

您仍然可以在某些@EnableConfigurationProperties(RabbitProperties.class)类上使用@Configuration来注入RabbitProperties并填充相应的CachingConnectionFactory。对于第二个代理,您可以介绍自己的@ConfigurationProperties或仅通过@Value手动配置所有属性。请参阅Spring AMQP参考手册中有关手动连接工厂配置的更多信息:https://docs.spring.io/spring-amqp/docs/2.2.1.RELEASE/reference/html/#connections