On May 2, 2005, at 3:08 PM, Daniel John Debrunner wrote:
Jeremy Boynes wrote:The class hierarchy the client DataSources is:
ClientBaseDataSource | +-- ClientDataSource | +-- ClientXADataSource | +-- ClientConnectionPoolDataSource
The three standard interfaces DataSource, ConnectionPoolDataSource and XADataSource are not related to each other with different get??Connection methods that return different classes.
I would like to propose refactoring this so that all three extend ClientBaseDataSource directly which will mean moving some of the properties from ClientDataSource down into the base class.
Any thoughts on why this should not be done?
No, but what are the reasons it should be done?
So that XADataSource does not implement DataSource. I have yet to see a coherent explanation of what XADataSource is for and how it relates to connection pooling and application server transaction management, so I doubt most casual users have either. If your XADataSource implements DataSource most non-expert users will think, "I'll just get my connection from XADataSource and I will have XA and connection pooling" even though they are operating outside an environment that supports either.
thanks david jencks
Dan.
