Hi,

 Following an earlier discussion on migrating Rabbit Hole to "all jca- all
the time", I've pretty much finished rewriting XADataSourceLoader and
JDBCDataSourceLoader so they delegate to ConnectionFactoryLoader and use
the jca/rar framework.  I'd like to commit this to cvs soon, but being a
newbie committer want to check first.

Here's an outline of what I've done.

XADataSourceLoader now looks at the DataSourceClass and if it is
XADataSourceImpl creates a ConnectionFactoryLoader mbean using the JDBC rar
and SharedLocal ConnectionManager.  If the DataSourceClass is not
XADataSourceImpl or the XADataSource is specified via a jndi name it
assumes you have a real xa driver and creates a ConnectionFactoryLoader
mbean using the XA rar (assembled now from parts already present but never
packages) and XA ConnectionManager.  For the jdbc rar, autocommit is now
turned off by default, and Bill's transaction isolation setting code is
added.

JDBCDataSourceLoader now creates a ConnectionFactoryLoader mbean using the
JDBC rar and the NoTransaction connection manager.  Autocommit is turned
on.

Using the XADataSourceImpl with the xa rar does not work.  I believe this
is a problem with the XADataSourceImpl as it does not support calling
start..end repeatedly with different xid's.  My understanding of the xa
spec is that an XAResource is required to support such calls.  However,
there is no reason to ever do this except for testing purposes.

Since a ConnectionFactoryLoader mbean properly configured to imitate the
XADataSourceLoader is created, by saving the configuration you can easily
update your jcml file to the "jca" format, migrating to the new
architecture.

----------------
Removed classes

I'm eliminating (in jbosspool) the org.jboss.pool.jdbc package and moving
the required classes into the org.jboss.pool.connector.jdbc package where
the rest of the resource adapter parts are.

removed classes are;
JDBCConnectionFactory
JDBCPoolDataSource
PoolDriver
and the xa and xa/wrapper packages.

---------------

Module organization

I guess I'll move the XADataSourceLoader and relatives to the jbosspool
module.

I'm not thrilled with the resource adapters and connection manager code
being outside the jbosscx module -- I think it would make more sense to
have all jca related code in one place.  As I understand it this
arrangement was originally because the pool was developed by Aaron as a
semi-independent project and later added to jboss cvs.  What is the story
with the different license?

----------

questions

In my opinion, the XADataSourceLoader and JDBCDataSourceLoader are
deprecated as soon as I commit this stuff.  Would it be a good idea to have
a "deprecated" module to keep people from trying to update this stuff?

Are there any plausible uses for the RawXADataSourceLoader?

Anyone have an opinion on whether I should make the JDBCProvider completely
unnecessary and remove it? (I think this would require specifying the
driver class in the jcml for a ConnectionFactoryLoader using the jdbc--rar)

-----------------

So, sorry for going on so long.  I'd like to commit this say by late aug 11
if I don't get any complaints.  I can put up a patch if anyone wants to
review this in more detail first.


Thanks
david jencks

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to