Недавно у меня возникла проблема с производительностью Apache Camel и ActiveMQ, в очереди которых много сообщений.
Поэтому я добавил журналы для распечатки истории сообщений Apache Camel, когда есть проблемы с производительностью, связанные со временем, используемым на каждом этапе. А из журнала, приведенного ниже, это отправка сообщения в часть ActiveMq, на завершение которой ушло более 50 секунд.
....
activemqShared:sendToQueueA : 50699 ms, timeStamp : 10:08:43.173,
activemqShared:sendToQueueB : 59010 ms, timeStamp : 10:09:33.872,
И эта часть верблюжьего маршрута похожа на эту
...
.to("activemqShared:sendToQueueA")
.to("activemqShared:sendToQueueB)
По сути, эта часть должна просто отправить сообщение в ActiveMq, и все готово. Тогда есть потребители, которые получат задачи, которые будут обрабатываться асинхронно.
Так что может заставить отправку сообщения в ActiveMQ занимать так много времени? Мое предположение прямо сейчас - проблема сети или что-то, что заставляет верблюда не получать уведомление, что сообщение было обработано (?)