[ http://issues.apache.org/jira/browse/DERBY-1254?page=all ]
V.Narayanan updated DERBY-1254:
-------------------------------
Attachment: DERBY_1254.diff
DERBY_1254.stat
The getNetXAConnection method overriden in NetXAConnection40 has a different
signature from the superclass method which was causing the problem.
ClientPooledConnection
----------------------------------
getNetXAConnection accepts ClientBaseDataSource as parameter.
ClientXAConnection40
-------------------------------
getNetXAConnection accepts ClientDataSource as parameter.
This was causing the netXAPhysicalConnection_ variable to be initialized with
NetXAConnection instead of NetXAConnection40 in the ClientPooledConnection
class constructor.
Fixing the signature of overridden method getNetXAConnection in
ClientXAConnection40 would have fixed this problem.
However, the NetXAConnection40 does nothing but have a overriden implementation
of getNetConnection for returning NetConnection40. Instead if we used the
ClientJDBCObjectFactory.getNetConnection method to return the appropriate
NetConnection object based on jdk version in NetXAConnection.getNetConnection
we could have done away with NetXAConnection40.This has been done in this patch.
Please find attached the .diff and the .stat files for this patch.
thanx
Narayanan
> XAConnection uses NetConnection as underlying physical connection for
> JDBC4/Java 1.6
> ------------------------------------------------------------------------------------
>
> Key: DERBY-1254
> URL: http://issues.apache.org/jira/browse/DERBY-1254
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.2.0.0
> Environment: DerbyNetClient
> Reporter: Kristian Waagan
> Assignee: V.Narayanan
> Attachments: DERBY_1254.diff, DERBY_1254.stat
>
> When running under DerbyNetClient (using Derby network server) using Java
> 1.6, XAConnection.getConnection() returns a NetConnection instance instead of
> NetConnection40 instance for the underlying "physical connection". This
> causes AbstractMethod errors for calls in LogicalConnection40 (not yet
> committed). PooledConnection does the correct thing according to the test
> that revealed this problem.
> The XAConnection was obtained by using
> TestUtil.getXADataSource().getXAConnection(). The underlying connection
> object was then obtained with XAConnection.getConnection().
> A new ConnectionTest is on the way as part of DERBY-1180. It will be
> submitted/committed, but not enabled until this bug is fixed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira