[ 
https://issues.apache.org/jira/browse/CAMEL-8285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14296711#comment-14296711
 ] 

Grzegorz Grzybek commented on CAMEL-8285:
-----------------------------------------

I was thinking about single resource transactions. In case of XA, 
datasource.getConnection() may (at least in case of aries-jdbc when working in 
Fuse) return the same connection, but I'm pretty sure it's not guaranteed.
In case of single resource transaction (when Camel uses spring's 
JdbcTransactionManager) dataSource.getConnection() may return new connection 
and commit in JdbcTransactionManager won't commit on this connection.

> JdbcProducer should rather use spring's DataSourceUtils.getConnection(ds) 
> when in transacted() block
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-8285
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8285
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jdbc
>    Affects Versions: 2.14.1
>            Reporter: Grzegorz Grzybek
>            Priority: Minor
>
> JdbcProducer gets {{java.sql.Connection}} by direct call to 
> {{javax.sql.DataSource#getConnection()}}. But depending on dataSource used, 
> the acquired connection may not be the correct JDBC connection (and 
> XAResource in case of XA transactions) which is currently associated with 
> {{org.springframework.transaction.PlatformTransactionManager}} used by 
> {{org.springframework.transaction.support.TransactionTemplate}} which is used 
> by Camel's {{<transacted>}} 
> ({{org.apache.camel.spring.spi.TransactionErrorHandler}}).
> JdbcProducer might use:
> * org.springframework.jdbc.datasource.DataSourceUtils#getConnection()
> * org.springframework.jdbc.datasource.DataSourceUtils#releaseConnection()
> just like Spring's {{JdbcTemplate}} does it (and camel-sql component uses).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to