[
https://issues.apache.org/jira/browse/DBCP-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032433#comment-13032433
]
Michael Glauche commented on DBCP-356:
--------------------------------------
This is probably because of a bug in the IBM JDK, see
http://www-01.ibm.com/support/docview.wss?uid=swg1IZ96415
For a "dirty" workaround you can create a copy of TransactionRegistry in your
local project (so it does overwrite the DBCP class) and change the WeakHashMap
to HashMap. For short lived tests it should be ok, but don't run anything
serious on this (it should eat up connections ...)
> ManagedDataSource doesn't work with an active transaction in progress on IBM
> JDK 6+
> -----------------------------------------------------------------------------------
>
> Key: DBCP-356
> URL: https://issues.apache.org/jira/browse/DBCP-356
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.3, 1.4
> Environment: IBM JDK 6
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build pwa6460sr9fp1-20110208_03(SR9 FP1))
> IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Windows 7 amd64-64
> jvmwa6460sr9-20110203_74623 (JIT enabled, AOT enabled)
> J9VM - 20110203_074623
> JIT - r9_20101028_17488ifx3
> GC - 20101027_AA)
> JCL - 20110203_01
> commons-dbcp of version 1.3 / 1.4
> Reporter: an envy guest
> Labels: ibm, xaresource
> Fix For: 1.3.1, 1.4.1
>
>
> When using IBM JDK 6+ and trying to build commons-dbcp, these tests fail:
> org.apache.commons.dbcp.managed.TestBasicManagedDataSource
> org.apache.commons.dbcp.managed.TestManagedDataSourceInTx
> with error:
> java.sql.SQLException: Connection does not have a registered XAResource null,
> UserName=null, null
> at
> org.apache.commons.dbcp.managed.TransactionRegistry.getXAResource(TransactionRegistry.java:81)
> at
> org.apache.commons.dbcp.managed.TransactionContext.setSharedConnection(TransactionContext.java:88)
> at
> org.apache.commons.dbcp.managed.ManagedConnection.updateTransactionStatus(ManagedConnection.java:131)
> at
> org.apache.commons.dbcp.managed.ManagedConnection.<init>(ManagedConnection.java:55)
> at
> org.apache.commons.dbcp.managed.ManagedDataSource.getConnection(ManagedDataSource.java:76)
> at
> org.apache.commons.dbcp.managed.TestManagedDataSource.getConnection(TestManagedDataSource.java:53)
> at
> org.apache.commons.dbcp.TestConnectionPool.newConnection(TestConnectionPool.java:81)
> at
> org.apache.commons.dbcp.managed.TestManagedDataSourceInTx.testMaxActive(TestManagedDataSourceInTx.java:102)
> When used in conjunction with OpenEJB 3.1.4 examples, the error is the same.
> The problem disappears when switched to Oracle JDK 1.6.24 (so, all tests are
> passed and OpenEJB examples are working).
> I beleive this has something to do with differences in
> java.lang.ref.WeakReference implementations between IBM and Oracle JDKs,
> which was already discussed here:
> http://www.mail-archive.com/[email protected]/msg13107.html
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira