у нас есть некоторые службы, использующие базовую c общую конфигурацию для подключения к разным внешним системам (DB, Rabbitmq, et c) и общую настройку.
Одна из переменных, которые у нас есть для rabbitmq, - это spring.rabbitmq.addresses с основным кластером, который перезаписывается, когда мы хотим подключиться к другому кластеру из службы, но мы подключаемся только к одному из них. Мы пытаемся изменить одну службу для подключения к 2 различным кластерам, но всегда преобладает значение из spring.rabbitmq.addresses.
Мы пробовали следовать документации (https://cloud.spring.io/spring-cloud-static/spring-cloud.html#multiple -systems ) , что-то вроде:
spring.rabbitmq.addresses: host-rabbitmq2:5672
spring.cloud.stream:
binders:
rabbitInput:
defaultCandidate: false
type: rabbit
environment.spring.rabbitmq.host: host-rabbitmq1:5672
rabbitOutput:
defaultCandidate: false
type: rabbit
environment.spring.rabbitmq.host: host-rabbitmq1:5672
rabbitMainClusterInput:
defaultCandidate: false
type: rabbit
environment.spring.rabbitmq.host: host-rabbitmq2:5672
Но всегда использовался кластер, определенный в spring.rabbitmq.addresses.
Другая попытка заключалась в настройке среды для связующего, что-то вроде:
spring.rabbitmq.addresses: host-rabbitmq2:5672
spring.cloud:
config:
override-system-properties: false
allowOverride: true
overrideNone: true
stream:
binders:
rabbitDefaultInput:
inheritEnvironment: false
defaultCandidate: false
type: rabbit
environment.spring.rabbitmq:
host: host-rabbitmq1:5672
username: xxxxxx
password: yyyyyy
С тем же результатом.
Другой попыткой было поместить оба кластера в переменную пружину. rabbitmq.addresses,
spring.rabbitmq.addresses: host-rabbitmq2:5672,host-rabbitmq1:5672
, но в результате он открыл соединения с двумя кластерами, но подключился только к очередям в кластере, который был первым в списке.
вопрос в том, есть ли способ, не удаляя переменную spring.rabbitmq.addresses, подключиться к 2 различным кластерам с помощью облачного потока Spring?
заранее спасибо