apache-camel - 运行骆驼直接路由,直到在数据库中处理数据
问题描述
我必须实施骆驼路线来运行特定时间段。检查表中是否有任何记录的第一条路线。如果表中有记录,则运行另一条路线来处理所有记录。
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:process 路由应该从另一个路由“我的路由”触发。如何运行 vm:process 路由,直到数据库中的所有记录都处理完?
解决方案
推荐阅读
- image - 在 React Native 中将图像 src 指定为动态状态变量
- node.js - Google Assistant - 如果输入无效,如何重新提示?
- reference - 如何捕获单元格引用以粘贴到另一张表中。
- operating-system - 类似 VirtualBox 的虚拟化如何工作?(需要一些技术细节)
- python-3.x - KeyError: ('var1', '发生在索引 16')
- android - 使用 apk 安装数据库并使用服务器使其保持最新
- unity3d - 可编写脚本的对象作为精灵的自定义版本
- spring-data-jpa - Spring Data JPA - PagingAndSortingRepository 和 Querydsl 谓词不适用于 findByAttribute
- c# - BrowserFetcher 使用 await 退出应用程序
- java - 为更明确的方法参数声明包装单个值