Apache Camel CronScheduledRoutePolicy не останавливает маршрут?
Я пытаюсь запустить и остановить мой маршрут, который читает из компонента google-pubsub и передает в источник данных JDBC (оракул).Я хочу делать это только в определенное время дня, поскольку база данных Oracle будет работать с 22:00 до 12:00 каждую ночь, в течение которых я не хочу, чтобы мой маршрут продолжал обрабатывать входящие сообщения pubsub, и хочу, чтобы он остановился.Но когда я пытаюсь это сделать, маршрут во время остановки говорит:
'{"severity": "WARN", "message": "oacrqScheduledRoutePolicy | Маршрут не находится в состоянии запуска / приостановки и не может быть остановлен.текущее состояние маршрута остановлено "} '
@Override
public void configure() {
CronScheduledRoutePolicy routePolicy = new CronScheduledRoutePolicy();
routePolicy.setRouteStartTime("0 15 00 * * ?");
routePolicy.setRouteStopTime("0 00 22 * * ?");
System.out.println("am here!!");
onException(Exception.class)
.log(LoggingLevel.ERROR," Error processing message: ${header['CamelGooglePubsub.MessageId']} : ${exception}" )
.to("log:app_error.log?level=DEBUG&showAll=true&showException=true")
.markRollbackOnlyLast()
.end();
CamelContext camelContext= getContext();
System.out.println("Route Status is" + camelContext.getRouteStatus("{{routeID}"));
from("google-pubsub:{{google_project_name}}:{{google_pubsub_subscription}}"+
"?concurrentConsumers={{concurrent_consumers}}"+
"&maxMessagesPerPoll={{max_messages_per_poll}}"+
"&connectionFactory=#googlePubsubConnectionFactory")
.routeId("{{routeID}")
.routePolicy(startPolicy)
.noAutoStartup()
Я хотел, чтобы маршрут начинался, скажем, в 12:15 (routePolicy.setRouteStartTime (" 0 15 00 * *? ");
и заканчивается в routePolicy.setRouteStartTime ("0 00 22 * *?");
Я правильно делаю это или должен использовать process () на маршруте, чтобы принудительно остановить его, как я могу это сделать?
Спасибо