Связь между двумя независимыми брокерами осуществляется с помощью моста. Карафы подключенные к одному брокеру далее будут именоваться шиной. image::Route-in-different-esb.png[Прохождение пакета через группу и мост] == Установка и настройка Установка модуля происходит через фичу: * _feature:install bridge_ Фича включена в общий установочный скрипт и будет устанавливаться вместе с остальными модулями. Во время установки фичи в караф копируются файлы конфигурации: * _ru.entaxy.esb.system.bridge.cfg (основная конфигурация)_ === ru.entaxy.esb.system.bridge.cfg (основная конфигурация) [source,properties] ---- # имя локальной шины() jms.local=test1 # значение true - мост текущего узла работает в пассивном режиме, # т.е. сообщения для соответствующего удалённого узла складываются в очередь на локальном брокере, # из которой уже читает подключаемый узел (локальный брокер должен быть доступен для соединения) # По умолчанию false - активный режим, запись сообщения идёт сразу в очередь на удалённом брокере, # подключаемого узла (брокеры по обе стороны моста должны быть доступны) jms.local.master=false # имена удаленных шин, задается через запятую(,) jms.remote.list=test2 # адреса брокера, задаются чеерез запятую(jms.url.) jms.url.test1=192.168.122.81:61616,192.168.122.82:61616 # логин для подключения к брокеру(jms.username.) jms.username.test1=input # пароль для подключения к брокеру(jms.password.) jms.password.test1=input # протокол для передачи сообщений внутри шины(jms.protocol.inner.esb.) # для корректной работы синхронного режима передачи сообщений: необходимо следить # за одинаковым значением данного параметра в мосту и в самой шине(ru.entaxy.esb.cfg) # возможные значения tcp, amqp jms.protocol.inner.esb.test1=tcp # протокол для передачи сообщений между шинами(jms.protocol.bridge.esb.) # для корректной работы синхронного режима передачи сообщений: необходимо следить # за одинаковым значением данного параметра во всех подключенных шинах # возможные значения tcp, amqp jms.protocol.bridge.test1=amqp # адреса брокера, задаются чеерез запятую(jms.url.) jms.url.test2=localhost:61616 # логин для подключения к брокеру(jms.username.) jms.username.test2=input # пароль для подключения к брокеру(jms.password.) jms.password.test2=input # jms.master. - выставляем в true, когда соответствующий узел настроен в пассивный режим, # т.е. для него jms.local.master = true (брокер должен быть доступен для соединения) jms.master.test2=true # протокол для передачи сообщений внутри шины(jms.protocol.inner.esb.) # для корректной работы синхронного режима передачи сообщений: необходимо следить # за одинаковым значением данного параметра в мосту и в самой шине(ru.entaxy.esb.cfg) # возможные значения tcp, amqp jms.protocol.inner.esb.test2=tcp # протокол для передачи сообщений между шинами(jms.protocol.bridge.esb.) # для корректной работы синхронного режима передачи сообщений: необходимо следить # за одинаковым значением данного параметра во всех подключенных шинах # возможные значения tcp, amqp jms.protocol.bridge.test2=amqp # максимальное колчичество попыток отправить сообщение в очередь # почитать подробнее можно в https://camel.apache.org/components/latest/eips/dead-letter-channel.html#deadLetterChannel-Redelivery redelivery.maximumRedeliveries=-1 # время между попытками отправить сообщение в очередь redelivery.redeliveryDelay=5000 # экспоненциальный рост времени между попытками отпрвки сообщений в очередь redelivery.useExponentialBackOff=true queue.sender.concurrentConsumers=1 queue.receiver.concurrentConsumers=1 ----