Rick Hillegas wrote:
Dear Derby users,
0Please 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.
I got this feedback from someone supporting an app server.
<quote>
I think its a risky change if you ask me. You don't know if users
already depend on such behavior. Also, not sure i understand the
statement "We believe this is confusing, particularly to developers who
are trying to build applications which easily port across different
vendors' JDBC implementations." Can you explain more? BTW, Oracle does
implement the javax.sql.DataSource, so you are not hte only one. DB2
doesn't though.
We depend on having your PooledDS be instance of
ConnnectionPoolDataSource and your XADS be instance of
javax.sql.XADataSource and nothing else.
Saying that however, i don't know what our stack products are doing
with the Derby DataSources specially if they have special Derby logic,
so my statement is only for our base.
</quote>
Kathey