On Tue, Oct 20, 2009 at 9:33 AM, Claus Ibsen <[email protected]> wrote: > On Tue, Oct 20, 2009 at 1:38 AM, SoaMattH <[email protected]> wrote: >> >> The defect outlined at >> https://issues.apache.org/activemq/browse/CAMEL-2077 >> >> is not quite the problem. >> >> That problem is that in SqlProducer.sql >> lines 47 - 52 >> >> if (exchange.getIn().getBody() != null) { >> Iterator<?> iterator = exchange.getIn().getBody(Iterator.class); >> while (iterator != null && iterator.hasNext()) { >> ps.setObject(argNumber++, iterator.next()); >> } >> } >> >> The exchange body has a value of: >> ---------------------------------- >> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': >> jobClass: 'org.apache.camel.component.quartz.CamelJob >> isStateful: false >> isVolatile: false >> isDurable: false >> requestsRecovers: false >> >> The iterator then processes these values into an iterator, the value >> in the itorator are then tried to be put in to the prepared statement >> this is what fails. >> > > Hi > > Yeah I do think camel-quartz should not store JobDetail on the body of > the exchange. People use quartz to trigger a route with an empty body. > I think we should move that JobDetail as a header instead. > > Then its also the same as the timer endpoint as it also has a empty body. > > > Let me create a ticket for that. >
Hi Fixed now on Camel trunk. https://issues.apache.org/activemq/browse/CAMEL-2081 Feel free to try it out on your system. > >> The rest of the code looks like that it will process with out any >> parameters being set. >> >> Maybe the <Camel:SQL> component needs a more specific way to set its >> parameters? >> >> The >> <setBody><constant></constant></setBody> >> sets the exchang body to empty and this is a good work around. >> >> My route now looks like: >> <camel:route id="omsSabaCoursesRoute"> >> <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" >> /> >> <camel:policy ref="SABA_READ_ONLY" /> >> >> <!-- WARNING!! --> >> <!-- Note: the following clears the exchange in body only use with >> no parameters in sql. --> >> <camel:setBody><camel:constant></camel:constant></camel:setBody> >> >> <camel:to ref="sabaOmsCoursesSQLEndPoint" /> >> <camel:to uri="bean:sabaCourseService" /> >> </camel:route> >> >> >> Thanks for the help >> Matt Hannay >> >> >> >> Claus Ibsen-2 wrote: >>> >>> On Mon, Oct 19, 2009 at 2:01 PM, SoaMattH <[email protected]> >>> wrote: >>>> >>>> >>>> Any hints on how to set the exchange message body to be empty ?? >>>> >>> >>> <setBody><constant></constant></setBody> >>> >>> >>>> Matt >>>> >>>> >>>> >>>> >>>> >>>> >>>> SoaMattH wrote: >>>>> >>>>> I have the following End point and route: >>>>> >>>>> <camel:endpoint id="sabaOmsCoursesSQLEndPoint" >>>>> uri="sql:select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource"/> >>>>> >>>>> .... >>>>> >>>>> <camel:route id="omsSabaCoursesRoute"> >>>>> <camel:from uri="quartz://omsSabaCourses/?cron=0+0+20+?+*+MON-SUN" >>>>> /> >>>>> <!-- <camel:policy ref="SABA_READ_ONLY" /> --> >>>>> <camel:to ref="sabaOmsCoursesSQLEndPoint" /> >>>>> <camel:to uri="bean:sabaCourseService" /> >>>>> </camel:route> >>>>> >>>>> The Endpoint is a view that consists of CHAR, VARCHAR2 and DATE coulmns >>>>> so nothing out of the ordinary. >>>>> >>>>> >>>>> >>>>> >>>>> When the SQL is called the following Error is given: >>>>> >>>>> DEBUG [DefaultQuartzScheduler_QuartzSchedulerThread] >>>>> (SimpleJobFactory.java:50) - Producing instance of Job >>>>> 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN', >>>>> class=org.apache.camel.component.quartz.CamelJob >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JobRunShell.java:201) - Calling >>>>> execute on job >>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - >>>>> Firing >>>>> Quartz Job with context: JobExecutionContext: trigger: >>>>> 'Camel.omsSabaCourses job: >>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: >>>>> 'Mon >>>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009 >>>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009 >>>>> isRecovering: false refireCount: 0 >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (QuartzEndpoint.java:115) - >>>>> Firing >>>>> Quartz Job with context: JobExecutionContext: trigger: >>>>> 'Camel.omsSabaCourses job: >>>>> DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN fireTime: >>>>> 'Mon >>>>> Oct 19 20:00:00 EST 2009 scheduledFireTime: Mon Oct 19 20:00:00 EST 2009 >>>>> previousFireTime: 'null nextFireTime: Tue Oct 20 20:00:00 EST 2009 >>>>> isRecovering: false refireCount: 0 >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractPlatformTransactionManager.java:371) - Creating new transaction >>>>> with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DriverManagerDataSource.java:163) >>>>> - Creating new JDBC DriverManager Connection to >>>>> [jdbc:oracle:thin:@aserver:1521:sabpdb] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DataSourceTransactionManager.java:202) - Acquired Connection >>>>> [oracle.jdbc.driver.t4cconnect...@19f1bac] for JDBC transaction >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DataSourceTransactionManager.java:219) - Switching JDBC Connection >>>>> [oracle.jdbc.driver.t4cconnect...@19f1bac] to manual commit >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) - >>>>> Starting producer: Producer[sql://select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultProducer.java:66) - >>>>> Starting producer: Producer[sql://select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - >>>>> Adding >>>>> to producer cache with key: Endpoint[sql://select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer: >>>>> Producer[sql://select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (ProducerCache.java:201) - >>>>> Adding >>>>> to producer cache with key: Endpoint[sql://select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] for producer: >>>>> Producer[sql://select * from >>>>> RPV_DES_OMS_COURSES?dataSourceRef=sabaDataSource] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (JdbcTemplate.java:574) - >>>>> Executing prepared SQL statement [select * from RPV_DES_OMS_COURSES] >>>>> INFO [DefaultQuartzScheduler_Worker-1] >>>>> (XmlBeanDefinitionReader.java:323) >>>>> - Loading XML bean definitions from class path resource >>>>> [org/springframework/jdbc/support/sql-error-codes.xml] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DefaultDocumentLoader.java:72) >>>>> - >>>>> Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (BeansDtdResolver.java:72) - >>>>> Found >>>>> beans DTD [http://www.springframework.org/dtd/spring-beans-2.0.dtd] in >>>>> classpath: spring-beans-2.0.dtd >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultBeanDefinitionDocumentReader.java:86) - Loading bean definitions >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'DB2' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'DB2' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'DB2' >>>>> to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'DB2' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'Derby' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'Derby' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'Derby' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'Derby' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'H2' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'H2' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'H2' >>>>> to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'H2' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'HSQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'HSQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'HSQL' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'HSQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'Informix' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'Informix' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'Informix' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'Informix' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'MS-SQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'MS-SQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'MS-SQL' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'MS-SQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'MySQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'MySQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'MySQL' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'MySQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'Oracle' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'Oracle' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'Oracle' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'Oracle' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'PostgreSQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'PostgreSQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'PostgreSQL' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'PostgreSQL' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DefaultSingletonBeanRegistry.java:214) - Creating shared instance of >>>>> singleton bean 'Sybase' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:383) - Creating instance of >>>>> bean >>>>> 'Sybase' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:459) - Eagerly caching bean >>>>> 'Sybase' to allow for resolving potential circular references >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractAutowireCapableBeanFactory.java:411) - Finished creating >>>>> instance >>>>> of bean 'Sybase' >>>>> INFO [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:128) >>>>> - >>>>> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, >>>>> Oracle, PostgreSQL, Sybase] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:201) >>>>> - >>>>> Looking up default SQLErrorCodes for DataSource >>>>> [org.springframework.jdbc.datasource.drivermanagerdatasou...@19c123d] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:220) >>>>> - >>>>> Database product name cached for DataSource >>>>> [org.springframework.jdbc.datasource.drivermanagerdatasou...@19c123d]: >>>>> name is 'Oracle' >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (SQLErrorCodesFactory.java:177) >>>>> - >>>>> SQL error codes for 'Oracle' found >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (SQLErrorCodeSQLExceptionTranslator.java:266) - Unable to translate >>>>> SQLException with Error code '17004', will now try the fallback >>>>> translator >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message >>>>> exchange has failed so breaking out of pipeline: Exchange[Message: >>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': >>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false >>>>> isVolatile: false isDurable: false requestsRecovers: false] Exception: >>>>> org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Pipeline.java:99) - Message >>>>> exchange has failed so breaking out of pipeline: Exchange[Message: >>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': >>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false >>>>> isVolatile: false isDurable: false requestsRecovers: false] Exception: >>>>> org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed >>>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery >>>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (Logger.java:197) - Failed >>>>> delivery for exchangeId: ID-AQ4397-4530-1255946375104-0-0. On delivery >>>>> attempt: 0 caught: org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (RedeliveryErrorHandler.java:361) >>>>> - This exchange is not handled so its marked as failed: >>>>> Exchange[Message: >>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': >>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false >>>>> isVolatile: false isDurable: false requestsRecovers: false] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (RedeliveryErrorHandler.java:361) >>>>> - This exchange is not handled so its marked as failed: >>>>> Exchange[Message: >>>>> JobDetail 'DEFAULT.quartz://omsSabaCourses/?cron=0+0+20+%3F+*+MON-SUN': >>>>> jobClass: 'org.apache.camel.component.quartz.CamelJob isStateful: false >>>>> isVolatile: false isDurable: false requestsRecovers: false] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (TransactionErrorHandler.java:127) >>>>> - Setting transaction to rollbackOnly due to exception being thrown: >>>>> org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (TransactionErrorHandler.java:127) >>>>> - Setting transaction to rollbackOnly due to exception being thrown: >>>>> org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (TransactionTemplate.java:152) - >>>>> Initiating transaction rollback on application exception >>>>> org.apache.camel.spring.spi.TransactedRuntimeCamelException: >>>>> org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> at >>>>> org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:171) >>>>> at >>>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121) >>>>> at >>>>> org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33) >>>>> at >>>>> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) >>>>> at >>>>> org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88) >>>>> at >>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) >>>>> at >>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148) >>>>> at >>>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54) >>>>> at >>>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48) >>>>> at >>>>> org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:41) >>>>> at >>>>> org.apache.camel.component.quartz.QuartzEndpoint.onJobExecute(QuartzEndpoint.java:119) >>>>> at >>>>> org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:32) >>>>> at org.quartz.core.JobRunShell.run(JobRunShell.java:202) >>>>> at >>>>> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525) >>>>> Caused by: org.springframework.jdbc.UncategorizedSQLException: >>>>> PreparedStatementCallback; uncategorized SQLException for SQL [select * >>>>> from RPV_DES_OMS_COURSES]; SQL state [null]; error code [17004]; Invalid >>>>> column type; nested exception is java.sql.SQLException: Invalid column >>>>> type >>>>> at >>>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) >>>>> at >>>>> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) >>>>> at >>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607) >>>>> at >>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:619) >>>>> at >>>>> org.apache.camel.component.sql.SqlProducer.process(SqlProducer.java:43) >>>>> at >>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:81) >>>>> at >>>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:79) >>>>> at >>>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:141) >>>>> at >>>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:78) >>>>> at >>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61) >>>>> at >>>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88) >>>>> at >>>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) >>>>> at >>>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148) >>>>> at org.apache.camel.processor.Pipeline.process(Pipeline.java:74) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155) >>>>> at >>>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88) >>>>> at >>>>> org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41) >>>>> at >>>>> org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114) >>>>> ... 15 more >>>>> Caused by: java.sql.SQLException: Invalid column type >>>>> at >>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) >>>>> at >>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) >>>>> at >>>>> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208) >>>>> at >>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:9262) >>>>> at >>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8843) >>>>> at >>>>> oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9565) >>>>> at >>>>> oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:9548) >>>>> at >>>>> org.apache.camel.component.sql.SqlProducer$1.doInPreparedStatement(SqlProducer.java:50) >>>>> at >>>>> org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591) >>>>> ... 34 more >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (AbstractPlatformTransactionManager.java:821) - Initiating transaction >>>>> rollback >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DataSourceTransactionManager.java:273) - Rolling back JDBC transaction >>>>> on >>>>> Connection [oracle.jdbc.driver.t4cconnect...@19f1bac] >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] >>>>> (DataSourceTransactionManager.java:314) - Releasing JDBC Connection >>>>> [oracle.jdbc.driver.t4cconnect...@19f1bac] after transaction >>>>> DEBUG [DefaultQuartzScheduler_Worker-1] (DataSourceUtils.java:312) - >>>>> Returning JDBC Connection to DataSource >>>>> >>>>> >>>>> Any clues on this error ? >>>>> >>>>> Matt >>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25957173.html >>>> Sent from the Camel - Users mailing list archive at Nabble.com. >>>> >>>> >>> >>> >>> >>> -- >>> Claus Ibsen >>> Apache Camel Committer >>> >>> Open Source Integration: http://fusesource.com >>> Blog: http://davsclaus.blogspot.com/ >>> Twitter: http://twitter.com/davsclaus >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/sql-throwing-oracle-17004-ORA-17004-error-tp25955346p25967545.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
