From: Toby A. <tob...@pe...> - 2001-07-17 21:43:24
|
On Tue, Jul 17, 2001 at 02:17:54PM -0700, Thimmaiah Chendrimada wrote: > > Trying to setup a pool with a true XA compliant > driver. > ... > > The Problem is that if I set the 'DataSourceClass' > attribute to anything other than > 'org.jboss.pool.jdbc.xa.wrapper.XADataSourceImpl' The > pool does not get initialized. This seems to be > because in 'org.jboss.jdbc.XADataSourceLoader' we try > to call 'setURL()' & 'setProperties()' method on the > 'DataSourceClass' registered in jboss.jcml - these are > not tandard XADataSource/DataSource methods. This > causes a NoSuchMethodException when the pool is > initializing. Yep, that's right. XADataSource does not specify any methods for setting the connection properties. Bummer, huh? I see three possible solutions. - Write a bridge class that delegates to or extends the specific XADataSource implementation you want to use and also has setURL and setProperties methods that call the appropriate methods in the actual implementation. - Use the XA JDBC resource adapter that is part of JBossPool. This involves using RawXADataSourceLoader to bind your XADataSource implementation into JNDI, then setting up a ConnectionFactoryLoader that specifies the properties that should be set. There is an example commented out in jboss.jcml. - Modify XADataSourceLoader to use an approach similar to RawXADataSourceLoader, i.e. allow the method names to be specified in jboss.jcml. Good luck, Toby. |