Я должен реализовать верблюжий маршрут, чтобы запустить указанный c период времени. Первый маршрут, чтобы проверить, есть ли какая-либо запись в таблице. Если в таблице есть запись, запустите другой маршрут для обработки всех записей.
from("quartz://Timer?cron=0+0/5+20-22+?+*+*")
.autoStartup(true)
.routeId("my-route")
.setBody(constant(sql query))
.to("jdbc:dataSource?resetAutoCommit=false")
.choice().when(header("CamelJdbcRowCount").isGreaterThan(0))
.split(body())
.setHeader("createdDate", simple("${body['CREATED']}"))
.inOut("vm:process")
.end();
from("vm:process")
.autoStartup(false)
.routeId("processrecords")
.setBody(constant("get all repords query"))
.to("jdbc:dataSource?readSize=300&useHeadersAsParameters=true&resetAutoCommit=false")
.split(body())
.setHeader("Id",simple("${body['ID']}"))
//do some thing here.
.setBody(constant("update here onc it is processed."))
.to("jdbc:dataSource?useHeadersAsParameters=true&resetAutoCommit=false");
}
vm: маршрут процесса должен сработать с другого маршрута «мой маршрут». Как запустить маршрут vm: process, пока все записи не будут обработаны в базе данных?