Apache Camel SQL component is not closing resultset? -


i using camel sql component run select queries against oracle db. war file deployed on jboss eap 6.1. in config file under configuration have track-statements set true (i.e. true). jboss checks if result sets closed when connection returned pool.

i configuring sql component follows:

//datasource injected here @resource(mappedname = "java:/jdbc/oracleds") private datasource datasource; 

... ...

//sql component sqlcomponent sqlcomponent = new sqlcomponent(); sqlcomponent.setdatasource(datasource); camelctx.addcomponent("sql", sqlcomponent); 

the sql component used in recipientlist follows:

from("activemq:"+queue) ... .recipientlist(simple(getfromconfig(sqlstmtname)),"false") .. 

the sql statement nothing special. regular select statement single table.

in jboss logs see warning.

2015-04-16 16:23:07,169 warn     [org.jboss.jca.adapters.jdbc.wrappedconnection] (ajp-8009-2|r:r2k4crklnprt-0br|ctvc|1.0) closing result set left open! please close yourself.: java.lang.throwable: stacktrace @ org.jboss.jca.adapters.jdbc.wrappedstatement.registerresultset(wrappedstatement.java:1357) @ org.jboss.jca.adapters.jdbc.wrappedstatement.getresultset(wrappedstatement.java:740) @ org.apache.camel.component.sql.sqlproducer$2.doinpreparedstatement(sqlproducer.java:127) @ org.apache.camel.component.sql.sqlproducer$2.doinpreparedstatement(sqlproducer.java:90) @ org.springframework.jdbc.core.jdbctemplate.execute(jdbctemplate.java:589) @ org.apache.camel.component.sql.sqlproducer.process(sqlproducer.java:90) @ org.apache.camel.util.asyncprocessorconverterhelper$processortoasyncprocessorbridge.process(asyncprocessorconverterhelper.java:61) @ org.apache.camel.processor.camelinternalprocessor.process(camelinternalprocessor.java:191) @ org.apache.camel.processor.multicastprocessor.doprocesssequential(multicastprocessor.java:573) @ org.apache.camel.processor.multicastprocessor.doprocesssequential(multicastprocessor.java:506) @ org.apache.camel.processor.multicastprocessor.process(multicastprocessor.java:215) @ org.apache.camel.processor.recipientlist.sendtorecipientlist(recipientlist.java:167) @ org.apache.camel.processor.recipientlist.process(recipientlist.java:120) @ org.apache.camel.processor.pipeline.process(pipeline.java:118) @ org.apache.camel.processor.pipeline.process(pipeline.java:80) @ org.apache.camel.management.instrumentationprocessor.process(instrumentationprocessor.java:72) @ org.apache.camel.processor.redeliveryerrorhandler.process(redeliveryerrorhandler.java:398) @ org.apache.camel.processor.camelinternalprocessor.process(camelinternalprocessor.java:191) @ org.apache.camel.processor.pipeline.process(pipeline.java:118) @ org.apache.camel.processor.pipeline.process(pipeline.java:80) ... ... 

i checked sqlproducer.java (line 127). since sql component uses spring jdbctemplate assume resultset closed template.

is there need close resultset?

yes bug in apache camel. have logged ticket fixed in future releases


Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -