Java CamelJDBC路由-CamelJdbcRowCount丢失
我有一个非常简单的方法从数据库中读取一些行:Java CamelJDBC路由-CamelJdbcRowCount丢失,java,jdbc,apache-camel,Java,Jdbc,Apache Camel,我有一个非常简单的方法从数据库中读取一些行: from("timer://runOnce?repeatCount=1&delay=1000"). setBody(constant("select * from some_table")) .to("jdbc:dataSource?outputType=StreamList") .log("Processing $simple{in.header.CamelJdbc
from("timer://runOnce?repeatCount=1&delay=1000").
setBody(constant("select * from some_table"))
.to("jdbc:dataSource?outputType=StreamList")
.log("Processing $simple{in.header.CamelJdbcRowCount} rows")
.split(body()).streaming().to("direct:createChunk");
我想在处理完所有行/块之后做一些清理工作,并想将处理的行数与select中的CamelJdbcRowCount进行比较以完成这项工作
但是,根本没有设置CamelJdbcRowCount。我能找到的唯一JDBC头是CamelJdbcColumnNames
我错过了什么
是否有其他/更好的方法来实现我想要的,而不是查看行数
编辑:我刚刚注意到,如果我删除'outputType=StreamList',我会得到预期的CamelJdbcRowCount值。我想这与使用StreamList时得到一个resultset和一个游标/迭代器有关,因此您无法真正计算行数。如果文档能够反映这一点,那就太好了
如何知道何时处理所有行?您必须在to子句中省略该部分?outputType=StreamList。日志语句本身也可以简化:
.log("read ${header.CamelJdbcRowCount} rows")
您使用哪种骆驼版本?可能是最新版本中修复的错误。所以试着升级。哦,我认为流列表是按需的,所以没有办法提前知道总数