Как выставить маршрут как сервис, чтобы мы могли запускать или останавливать маршрут во время выполнения

У меня следующий маршрут класса

public class FileReaderRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("file:{{file.encrypt.source}}?noop=true;delete=true")
                .setProperty("fileName", simple("${in.header.CamelFileName}")).log("File Reader Route route started")
                .to("direct:addSignatureRoute");
    }

}

Я загрузил выше маршрут с помощью Springboot. Так что, если я запускаю приложение, начинайте маршрут и начинайте читать файлы в указанном месте.

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

1 ответ

Вы можете дать идентификатор для вашего маршрута:

from("file:...")
.id("myroute")
...
.autoStartUp(false);

И используйте этот идентификатор, чтобы остановить / запустить соответствующий маршрут:

camelContext.startRoute("myroute");
Другие вопросы по тегам