Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 19110 invoked from network); 11 May 2006 20:09:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 11 May 2006 20:09:53 -0000 Received: (qmail 85485 invoked by uid 500); 11 May 2006 20:09:52 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 85443 invoked by uid 500); 11 May 2006 20:09:52 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 85399 invoked by uid 99); 11 May 2006 20:09:52 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 May 2006 13:09:52 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.42.249] (HELO nwkes-gis-mail-1.sun.com) (192.18.42.249) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 May 2006 13:09:49 -0700 Received: from d1-sfbay-09.sun.com ([192.18.39.119]) by nwkes-gis-mail-1.sun.com (8.12.9/8.12.9) with ESMTP id k4BK9P6O007783; Thu, 11 May 2006 13:09:29 -0700 (PDT) Received: from conversion-daemon.d1-sfbay-09.sun.com by d1-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) id <0IZ400L01AKHMH00@d1-sfbay-09.sun.com> (original mail from Richard.Hillegas@Sun.COM); Thu, 11 May 2006 13:09:25 -0700 (PDT) Received: from [129.150.20.249] by d1-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPSA id <0IZ400GQQANP50C0@d1-sfbay-09.sun.com>; Thu, 11 May 2006 13:09:25 -0700 (PDT) Date: Thu, 11 May 2006 13:09:32 -0700 From: Rick Hillegas Subject: Proposal to change Derby's public api for XADataSource and ConnectionPoolDataSource Sender: Richard.Hillegas@Sun.COM To: Derby Discussion , Derby Development Message-id: <446399FC.1060004@sun.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=ISO-8859-1 Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Dear Derby users, Please read this message if you work on an application server or in an application layer which cares about distributed transactions and/or pooled connections. Right now the inheritance graph for Derby's DataSources does not mirror the corresponding graph of interfaces in javax.sql. Derby's DataSources are classes which you will find in Derby's published javadoc for the package org.apache.derby.jdbc. In particular, Derby's XADataSources and ConnectionPoolDataSources implement the DataSource interface. This is so even though the javax.sql.XADataSource and javax.sql.ConnectionPoolDataSource interfaces themselves do not extend javax.sql.DataSource. We believe this is confusing, particularly to developers who are trying to build applications which easily port across different vendors' JDBC implementations. We propose to rework the hierarchy of classes in org.apache.derby.jdbc so that our XADataSources and ConnectionPoolDataSources no longer implement javax.sql.DataSource. We propose to expose this change in Derby 10.2. However, we do not want to make this change if it will break existing applications. Please let us know if you think this will break your app server or other Derby-powered application. Thanks, -Rick ----------------------------------------------------------------------------------- Here is a bit more detail on the problem. This is the inheritance graph from javax.sql: CommonDataSource / | \ XADataSource DataSource ConnectionPoolDataSource Here is the corresponding 10.1 graph from org.apache.derby.jdbc: ClientDataSource / \ ClientXADataSource ClientConnectionPoolDataSource We propose the following 10.2 graph for org.apache.derby.jdbc ClientBaseDataSource / | \ ClientXADataSource ClientDataSource ClientConnectionPoolDataSource