На одном сервере работает несколько приложений весенней загрузки. В приложении весенней загрузки A есть остановленный маршрут Apache Camel. В приложении B с весенней загрузкой есть служба, которая после завершения работы должна запустить маршрут Apache Camel в приложении A. Возможно ли этого добиться?
Если у вас есть маршрут, который вам нужно запустить из любого внешнего приложения или службы, вы можете предоставить rest-api из вашего приложения A с конечной точкой отдыха, которая запустит желаемый маршрут по запросу.
Это позволит вам не только сигнализировать приложению A о маршруте от другого приложения Camel, такого как ваше приложение B, но также и от многих других сервисов. Поскольку оба приложения находятся на одном сервере, вы можете restConfiguration().host("localhost")
ограничить подключения локальными.
Альтернативой было бы использование брокера сообщений, такого как ActiveMQ artemis, для передачи сообщений между различными приложениями с помощью jms.
Обычно я бы избегал любых решений, в которых можно было бы включить отключенные маршруты. Их не только сложно реализовать, но они также очень негибкие и их трудно тестировать. При использовании Apache Camel вам, вероятно, понадобится использовать JMX для включения отключенных маршрутов.
Я пошел с передачей сообщения через JMS. Я отказался от раскрытия API для отдыха, поскольку это не имело смысла для всей архитектуры.