Hi!   I am trying to learn about the SQL component.   I found an
example[7], SqlRouteTest, and have tried to apply some debugging[5], and
tracing[6] to it.   Even with logging turned all the way up[8] I don't get
tracing output.   Using the debugger I see the route that starts with
direct:simple being called.

My question is why does the insert route[2] work and the select route[3]
fail?   The debug output[8] shows that the setUp() method is inserting
several rows into the database.   When I run SqlRouteTest. testSimpleBody I
get a stack trace[9] that I fail to see a clue in.

Would you please give me any suggestions or tell me what I'm doing wrong
please?

When I step through things using eclipse's debugger I see this in
org.apache.camel.component.sql.SqlProducer around line 91.   The first call
to ps.getResultSet() returns non-null, the second call to ps.getResultSet()
returns null.

    if (isResultSet) {

                        ResultSet rs = ps.getResultSet();

                        SqlOutputType outputType =
getEndpoint().getOutputType();

                        log.trace("Got result list from query: {},
outputType={}", rs, outputType);

                        if (outputType == SqlOutputType.SelectList) {

                            List<Map<String, Object>> data =
getEndpoint().queryForList(ps.getResultSet());


Thanks! --Matt Payne; cell: (402) 208 8787

[1] https://github.com/payne/CamelSqlDemo/tree/master/SqlRouteTestDemo
[2]

from("direct:insert")
.to("sql:insert into projects values (#, #, #)")
.to("mock:result");

[3]

from("direct:simple")
.tracing()
.to("sql:select * from projects where license = # order by id")
.tracing()
.to("mock:result");

[4] http://camel.apache.org/sql-component.html
[5] http://camel.apache.org/debugger.html
[6] http://camel.apache.org/tracer.html
[7] 
https://svn.apache.org/repos/asf/camel/sandbox/tuning-experiment/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java
[8] 
https://github.com/payne/CamelSqlDemo/blob/master/SqlRouteTestDemo/target/camel-sql-test.log
[9]

Caused by: java.lang.NullPointerException
        at 
org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:91)
        at 
org.apache.camel.component.sql.SqlEndpoint.queryForList(SqlEndpoint.java:258)
        at 
org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:96)
        at 
org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:60)
        at 
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589)
        at 
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)
        at 
org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:60)
        at 
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
        at 
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)
        at 
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)
        at org.apache.camel.processor.interceptor.Debug$1.process(Debug.java:50)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:91)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at 
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:51)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at 
org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)
        at 
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:378)
        at 
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:346)
        at 
org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:242)
        at 
org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:346)
        at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:184)
        at 
org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:124)
        at 
org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:137)
        ... 49 more

Reply via email to