[
https://issues.apache.org/jira/browse/OFBIZ-7346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15335867#comment-15335867
]
Gareth Carter commented on OFBIZ-7346:
--------------------------------------
I think most db drivers set autoCommit = true on new connections. You set it to
false to begin a transaction, call commit/rollback and then potentially reset
autoCommit to previous value. OFBiz does not do this as it uses transaction
manager which does it implicitly. I think both the transaction manager and dbcp
reset autoCommit. I had to download sourcecode for both geronimo and dbcp to
figure it out.
I suspect if you set autoCommit in OFBiz, it may not work or may
commit/rollback current transaction if already in one
> connection pooling not working
> ------------------------------
>
> Key: OFBIZ-7346
> URL: https://issues.apache.org/jira/browse/OFBIZ-7346
> Project: OFBiz
> Issue Type: Bug
> Components: ALL COMPONENTS
> Affects Versions: Trunk
> Reporter: Gareth Carter
> Assignee: Jacques Le Roux
> Priority: Critical
> Attachments: DBCPConnectionFactory.patch
>
>
> Connection pooling does not seem to work. Connections are created fine but as
> the close() method is called (outside of transaction) or the transaction is
> committed the connections are closed to the db server and not returned to the
> pool.
> I believe the issue is with
> org.apache.commons.dbcp2.PoolableConnectionFactory passivateObject method.
> This will call rollback() when rollbackOnReturn is set to true even if the
> transaction is committed. This is because any connection wrappers extending
> org.apache.commons.dbcp2.DelegatingConnection cache autoCommit status. At
> some point, this cached autoCommit is different from the underlying
> connection autoCommit. The rollback() method will throw an exception and the
> connection is destroyed rather than put back to the pool
> Environment this has been tested on:
> ofbiz: rev 1725574 and latest trunk (as of 2016-06-14)
> db: postgresql 9.1
> jdbc driver: postgresql-9.3-1101.jdbc4
> os: linux and windows
> I have asked dev ml for others to check this with other dbs. Jacques has test
> with postgres but could not see this behaviour
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)