Apache Camel - Соединение IDLE AMQP1.0 - PullRequest
0 голосов
/ 07 мая 2019

У меня есть Apache-Camel с приложением Spring. Приложение действует как мост между двумя пунктами назначения AMQP. Он принимает сообщения от одного брокера и публикует их другому брокеру. Связь осуществляется в обе стороны по протоколу AMQP1.0.

Проблема Я столкнулся с проблемой соединения IDLE. После нескольких дней работы потребители прекращают получать сообщения, если не перезапустить. Более того, я не могу получить журналы ошибок. Эта проблема исчезает после перезапуска приложения.

Я ожидаю, что, как и Spring-JMS, Apache Camel попытается подключить потребителей. Пожалуйста, сообщите мне, если мне нужно настроить что-то в Camel для выполнения попыток переподключения и правильного ведения журнала.

Конфигурация верблюжьего маршрута

        cmlCntxt.addRoutes(new RouteBuilder() {
        public void configure() {
            from("incomingOne:queue:" + inQueueOne)                     
                      .to("outGoingBroker:queue:"outQueueOne).transform(body().append("\n\n"));
            from("inQueueTwo:queue:" + inQueueTwo).to("outGoingBroker:"+outQueueTwo).transform(body().append("\n\n"));
        }
    });

Более того, я не контролирую брокеров с обеих сторон и не могу проверить, почему мои потребители не получают сообщения. Вот почему я ожидаю, что журналы ошибок верблюда будут информативными для меня, чтобы отладить проблему, будь то связь или что-то еще.

1 Ответ

0 голосов
/ 09 мая 2019

Попробуйте настроить свойство jms.requestTimeout на вашем remoteURI. по умолчанию requestTimeout является неопределенным. Так что в случае каких-либо проблем, это может застрять навсегда.

Также попробуйте использовать аварийное переключение для подключения к брокеру и включения отладки в приложении.

если проблема не устранена, отредактируйте ее, указав сведения о брокере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...