[
https://issues.apache.org/jira/browse/CAMEL-15489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17189227#comment-17189227
]
Chandrakant Hardahe commented on CAMEL-15489:
---------------------------------------------
I'm working on it Thanks
> camel-sql - Persistence Aggregator not compatible with Oracle-Java Data Type
> -----------------------------------------------------------------------------
>
> Key: CAMEL-15489
> URL: https://issues.apache.org/jira/browse/CAMEL-15489
> Project: Camel
> Issue Type: Bug
> Components: camel-sql
> Affects Versions: 3.4.3
> Reporter: Sahil Sachdeva
> Priority: Major
> Labels: help-wanted
> Fix For: 3.4.4, 3.6.0
>
> Attachments: Code Snippet.png
>
>
> Camel-sql : JdbcAggregationRepository uses the underlying jdbcTemplate and
> calls the queryForMap operation and on the VERSION column it type case it to
> the LONG by Default without checking if the Java Data Type is different or
> not. With Oracle and Java, it get bbvy default converted into the BIGDECIMAL
> and hence type case doesnt work with Object, can only work with Primitive
> data types.
>
> Exception Stacktrace:
>
> java.lang.ClassCastException: java.math.BigDecimal cannot be cast to
> java.lang.Longjava.lang.ClassCastException: java.math.BigDecimal cannot be
> cast to java.lang.Long at
> org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository$4.doInTransaction(JdbcAggregationRepository.java:334)
> at
> org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository$4.doInTransaction(JdbcAggregationRepository.java:325)
> at
> org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
> at
> org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.get(JdbcAggregationRepository.java:325)
> at
> org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.get(JdbcAggregationRepository.java:319)
> at
> org.apache.camel.processor.aggregate.AggregateProcessor.doAggregation(AggregateProcessor.java:483)
> at
> org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:406)
> at
> org.apache.camel.processor.aggregate.AggregateProcessor.doInOptimisticLock(AggregateProcessor.java:372)
> at
> org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:362)
> at
> org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320)
> at
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:702)
> at
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:616)
> at
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
> at
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:147) at
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286)
> at
> org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
> at
> org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:40)
> at
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:128)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696)
> at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674)
> at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:318)
> at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1189)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1179)
> at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1076)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)