Camel-sql header CamelSqlRowCount is not overriden for multiple queries

305 Views Asked by At

I use a sql endpoint to run a query from camel. But when i call a second the CamelSqlRowCount isn't changed:

@Component
public class TestSQLRowCount  extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("timer://testsql?fixedRate=true&period=5000")
            .to("sql:select 1 from dual_seq?dataSource=#dataSource&outputHeader=TEST_ROW_COUNT&outputType=SelectOne")
            .log("OLD_AUDIT_DATA ${headers.TEST_ROW_COUNT} - ROW_COUNT ${headers.CamelSqlRowCount}")
            .to("sql:select 1 from dual_seq where 0 = 1?dataSource=#dataSource&outputHeader=TEST_ROW_COUNT2&outputType=SelectOne")
            .log("OLD_AUDIT_DATA ${headers.TEST_ROW_COUNT2} - ROW_COUNT ${headers.CamelSqlRowCount}")
            .end();
    }
}

Output: 2021-12-01 14:20:02.880 INFO OLD_AUDIT_DATA 1 - ROW_COUNT 1
2021-12-01 14:20:02.944 INFO OLD_AUDIT_DATA - ROW_COUNT 1

When i switch the statements:

@Component
public class TestSQLRowCount  extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("timer://testsql?fixedRate=true&period=5000")
            .to("sql:select 1 from dual_seq where 0 = 1?dataSource=#dataSource&outputHeader=TEST_ROW_COUNT2&outputType=SelectOne")
            .log("OLD_AUDIT_DATA ${headers.TEST_ROW_COUNT2} - ROW_COUNT ${headers.CamelSqlRowCount}")
            .to("sql:select 1 from dual_seq?dataSource=#dataSource&outputHeader=TEST_ROW_COUNT&outputType=SelectOne")
            .log("OLD_AUDIT_DATA ${headers.TEST_ROW_COUNT} - ROW_COUNT ${headers.CamelSqlRowCount}")
            .end();
    }
}

Output: 2021-12-01 14:22:25.021 INFO OLD_AUDIT_DATA - ROW_COUNT 0
2021-12-01 14:22:25.076 INFO OLD_AUDIT_DATA 1 - ROW_COUNT 0

How can I reset the header ?

Thanks in advance

Bart

0

There are 0 best solutions below