You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Dain Sundstrom <da...@iq80.com> on 2007/07/16 23:32:38 UTC

DB path hacks

When making the change to DBCP I missed the HsqldbPathHack,  
InstantdbPropertiesHack, DerbySystemHomeHack, and  
ManagedConnectionFactoryPathHack classes in the resource.jdbc  
package.  These classes tweak the system so that the databases  
created by Java DBs like HSQL, InstantDB and Derby are created inside  
of the server installation instead of the directory where you started  
OpenEJB.

I'm going to move the code from JdbcManagedConnectionFactory (and the  
classes above) to work in Basic[Managed]DataSource.createDataSource 
().  If possible, I'd like to make this code be finder based instead  
of hard coded, so as new Java databases are added (like H2) we don't  
have to change the server code.

Anyway, for the time being databases may be created in the wrong place.

-dain

Re: DB path hacks

Posted by Dain Sundstrom <da...@iq80.com>.
I committed a first pass at this.  I added a DataSourcePlugin (not  
sure I like the name) interface and implementations for HSQLDB,  
InstantDB and Derby.  The actual implementation is chosen using xbean- 
finder.  We look for a file in the classpath with the name META-INF/ 
org.apache.openejb.resource.jdbc.DataSourcePlugin/${jdbcVendor} and  
in that file is a single line containing the name of the  
implementation class.  The jdbcVendor name comes from the jdbc url  
specified in the datasource configuration using the pattern jdbc:$ 
{jdbcVendor}:jdbc-properties

Anyway, please take a look (especially David B), and let me know what  
you think.

-dain

On Jul 16, 2007, at 2:32 PM, Dain Sundstrom wrote:

> When making the change to DBCP I missed the HsqldbPathHack,  
> InstantdbPropertiesHack, DerbySystemHomeHack, and  
> ManagedConnectionFactoryPathHack classes in the resource.jdbc  
> package.  These classes tweak the system so that the databases  
> created by Java DBs like HSQL, InstantDB and Derby are created  
> inside of the server installation instead of the directory where  
> you started OpenEJB.
>
> I'm going to move the code from JdbcManagedConnectionFactory (and  
> the classes above) to work in Basic[Managed] 
> DataSource.createDataSource().  If possible, I'd like to make this  
> code be finder based instead of hard coded, so as new Java  
> databases are added (like H2) we don't have to change the server code.
>
> Anyway, for the time being databases may be created in the wrong  
> place.
>
> -dain