Apache camel Apache Camel如何从sql组件访问头值

Apache camel Apache Camel如何从sql组件访问头值,apache-camel,camel-sql,Apache Camel,Camel Sql,我正在尝试使用属性header.CamelSqlRowCount打印sql组件选择的行数。但是,该值将变为空。 我添加了另一篇文章中提到的跟踪,以检查标题值,并且只打印breadcrumbId。有人能告诉我我做错了什么吗 骆驼路线 <endpoint id="sqlComponent" uri="sql:${sql.pollerQuery}?dataSource=DataSource&amp;consumer.delay=60000&amp;consumer

我正在尝试使用属性header.CamelSqlRowCount打印sql组件选择的行数。但是,该值将变为空。 我添加了另一篇文章中提到的跟踪,以检查标题值,并且只打印breadcrumbId。有人能告诉我我做错了什么吗

骆驼路线

        <endpoint id="sqlComponent" uri="sql:${sql.pollerQuery}?dataSource=DataSource&amp;consumer.delay=60000&amp;consumer.useIterator=false"/>
    <route id="root">
        <from ref="sqlComponent"/>
        <log message="Received ${header.CamelSqlRowCount} records from the poller query"/>
        <log message="Message Body= ${body}"/>
    </route>
记录的跟踪如下所示

DEBUG 2017-11-16 18:01:00 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] Executing query: SELECT ID FROM TABLE WHERE PUBLISHED = 'N'
INFO  2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] ID-MyMachine >>> (root) from(sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'?consumer.delay=60000&consumer.useIterator=false&dataSource=odsDataSource) --> log[Received ${header.CamelSqlRowCount} records from the poller query] <<< Pattern:InOnly, Headers:{breadcrumbId=ID-MyMachine}, BodyType:java.util.ArrayList, Body:[{ID=1}, {ID=2}, {ID=3}, {ID=4}, {ID=5}]
INFO  2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] Received  records from the poller query
INFO  2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] ID-BLRKEC381989D-52624-1510835442422-0-2 >>> (root) log[Received ${header.CamelSqlRowCount} records from the poller query] --> log[Message Body= ${body}] <<< Pattern:InOnly, Headers:{breadcrumbId=ID-MyMachine}, BodyType:java.util.ArrayList, Body:[{ID=1}, {ID=2}, {ID=3}, {ID=4}, {ID=5}]
INFO  2017-11-16 18:01:01 [Camel (camel-1) thread #0 - sql://SELECT%20ID%20FROM%20TABLE%20WHERE%20PUBLISHED%20=%20'N'] Message Body= [{ID=1}, {ID=2}, {ID=3}, {ID=4}, {ID=5}]

驼峰版本-2.15.1

此标题不在使用者上设置,仅在生产者上设置。您在邮件正文列表中有大小。您可以在Apache Camel上记录JIRA票证,要求消费者也包含此标题。

您是否检查过这可能是因为您对更新的版本有所了解,我已检查过该链接。那里的问题是由于多播造成的。我在我的路线上有一个分离的组件。检查后,我删除了拆分组件并进行了如上所示的简单路由,以验证问题不是由拆分组件引起的。骆驼版本2.20.0不适用。详细信息,请参阅。将属性${header.CamelSqlRowCount}替换为${body.size}以获取计数。