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

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

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 Ответ

0 голосов
/ 27 октября 2018

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

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

И использовать этот идентификатор для остановки / запуска соответствующего маршрута:

camelContext.startRoute("myroute");
...