Thank you for your reply!

I am afraid but it seems not working with even 2.13-SNAPSHOT. I've even
changed the exception to java.lang.Exception and still is not catching these
exceptions. 

The exception should be caught when there is no connection to the database.
That's how it works on Camel 2.7.0 and java.sql.SQLException is caught by
the handler nicely.

<route>
                <description>NTCS Oracle Insertion Queue</description>
                <from uri="seda:insertion.queue"/>
                <onException>
                        <exception>java.lang.Exception</exception>
                        <handled>
                                <constant>true</constant>
                        </handled>
                        <process ref="telemetryFailureProcessor"/>
                        <to uri="seda:insertion.failure.queue"/>
                </onException>
                <transacted/>
                <split>
                        <xpath>/ntcs-telemetry/telemetry</xpath>
                        <bean ref="insertTransactedTelemetry"/>
                </split>
        </route>

2013-11-05 09:50:06,840 | INFO  | Apache Camel 2.13-SNAPSHOT (CamelContext:
camel) started in 0.491 seconds | org.apache.camel.spring.SpringCamelContext
| main
2013-11-05 09:50:35,237 | WARN  | Transaction rollback (0x1c64f22)
redelivered(false) for (MessageId:
queue_ntcs.telemetry.in_ID_tcs-amq-dev-35729-1383645004167-5_1_1_1_1 on
ExchangeId: ID-tcs-amq-dev-tng-iac-es-43055-1383645005720-0-2) caught: Could
not open JDBC Connection for transaction; nested exception is
java.sql.SQLException: Unable to start the Universal Connection Pool:
oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from
Datasource: java.sql.SQLRecoverableException: IO Error: The Network Adapter
could not establish the connection |
org.apache.camel.spring.spi.TransactionErrorHandler | Camel (camel) thread
#1 - seda://insertion.queue
2013-11-05 09:50:35,239 | WARN  | Error processing exchange.
Exchange[JmsMessage[JmsMessageID:
ID:tcs-amq-dev.tng.iac.es-35729-1383645004167-5:1:1:1:1]]. Caused by:
[org.springframework.transaction.CannotCreateTransactionException - Could
not open JDBC Connection for transaction; nested exception is
java.sql.SQLException: Unable to start the Universal Connection Pool:
oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from
Datasource: java.sql.SQLRecoverableException: IO Error: The Network Adapter
could not establish the connection] |
org.apache.camel.component.seda.SedaConsumer | Camel (camel) thread #1 -
seda://insertion.queue
org.springframework.transaction.CannotCreateTransactionException: Could not
open JDBC Connection for transaction; nested exception is
java.sql.SQLException: Unable to start the Universal Connection Pool:
oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from
Datasource: java.sql.SQLRecoverableException: IO Error: The Network Adapter
could not establish the connection
        at
org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:241)
        at
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:372)
        at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
        at
org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:174)
        at
org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:134)
        at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:103)
        at
org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:112)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291)
        at
org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:200)
        at 
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:147)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.sql.SQLException: Unable to start the Universal Connection
Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection
from Datasource: java.sql.SQLRecoverableException: IO Error: The Network
Adapter could not establish the connection
        at
oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:488)
        at
oracle.ucp.util.UCPErrorHandler.throwSQLException(UCPErrorHandler.java:163)
        at
oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:643)
        at
oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:878)
        at
oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:845)
        at
oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:839)
        at
org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:203)
        ... 14 more
Caused by: oracle.ucp.UniversalConnectionPoolException: Cannot get
Connection from Datasource: java.sql.SQLRecoverableException: IO Error: The
Network Adapter could not establish the connection
        at
oracle.ucp.util.UCPErrorHandler.newUniversalConnectionPoolException(UCPErrorHandler.java:368)
        at
oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:49)
        at
oracle.ucp.util.UCPErrorHandler.throwUniversalConnectionPoolException(UCPErrorHandler.java:80)
        at
oracle.ucp.jdbc.DataSourceConnectionFactoryAdapter.createConnection(DataSourceConnectionFactoryAdapter.java:102)
        at
oracle.ucp.common.UniversalConnectionPoolImpl$UniversalConnectionPoolInternal.createOnePooledConnectionInternal(UniversalConnectionPoolImpl.java:1584)
        at
oracle.ucp.common.UniversalConnectionPoolImpl$UniversalConnectionPoolInternal.access$600(UniversalConnectionPoolImpl.java:1420)
        at
oracle.ucp.common.UniversalConnectionPoolImpl.createOnePooledConnection(UniversalConnectionPoolImpl.java:498)
        at
oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.createOnePooledConnection(OracleJDBCConnectionPool.java:127)
        at
oracle.ucp.common.UniversalConnectionPoolImpl.addNewConnections(UniversalConnectionPoolImpl.java:984)
        at
oracle.ucp.common.UniversalConnectionPoolBase.getInitialConnections(UniversalConnectionPoolBase.java:549)
        at
oracle.ucp.common.UniversalConnectionPoolBase.start(UniversalConnectionPoolBase.java:657)
        at
oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.start(OracleJDBCConnectionPool.java:149)
        at
oracle.ucp.jdbc.PoolDataSourceImpl.startPool(PoolDataSourceImpl.java:637)
        ... 18 more




--
View this message in context: 
http://camel.465427.n5.nabble.com/Problem-with-exception-handler-onException-on-Camel-2-12-X-routes-tp5742605p5742636.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to