Spring Интеграция между двумя брокерами сообщений

Я новичок в Spring-Integration.

Мой вариант использования:

Прослушайте очередь / тему RabbitMQ, получите сообщение, обработайте его, отправьте другому брокеру сообщений (в основном это будет другой экземпляр RabbitMQ).

Ожидаемая нагрузка: 5000 сообщений / сек.

В application.properties мы можем установить конфигурации для одного хоста.

Как использовать Spring Integration между двумя брокерами сообщений?

Все примеры, которые я вижу, относятся к одному брокеру сообщений. Любые указатели для начала работы с двумя брокерами сообщений и Spring Integration.

С уважением,

Махеш


person Mahesh    schedule 05.12.2019    source источник


Ответы (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

person Artem Bilan    schedule 05.12.2019
comment
Спасибо, Артем. Позвольте мне попробовать ваши предложения и вернуться. - person Mahesh; 05.12.2019