Jeremy, et al:
Did you ever figure out a workable solution to this? I am trying to solve precisely the same problem.
Many thanks in advance -- Mark Flood
Content-Type: text/plain; charset="iso-8859-1" Subject: How to dynamically add new database to Torque Date: Fri, 28 Nov 2003 10:41:58 +1100 From: Jeremy Kincaid <[EMAIL PROTECTED]>
Thankyou for the response Gerhard, but unfortunately it didn't work for me. I still get the error "java.lang.NullPointerException: There was no DataSourceFactory configured for the connection newDatabase". I am using Torque version 3.1. I read that they have changed the re-entry to the initialize method from earlier versions.
Torque is a static wapper for the TorqueInstance class. The TorqueInstance.init(Configuration) method calls setConfiguration(Configuration) and then initialize(). Inside the initialize() method there is an if statement that checks if Torque has already been initialized. If so, then simply returns and the adapters and data source factories are not initialized. I think this is a safety measure as the initialize() method also creates new hashmaps for mapping databases to adapters and data source factories which would override existing maps. If the creation of these hashmaps were done else where, then it might be easier.
At this stage I am comptemplating creating a class that inherits from TorqueInstance and has the ablility to add to the hashmaps. //------------------------------------------------------------ Jeremy Kincaid Software Systems Engineer
Intermoco Solutions Pty. Ltd.
488-494 La Trobe Street
Melbourne, Victoria, 3000
AUSTRALIA
Voice: +61 3 8080 8709
Fax: +61 3 8080 8700
email: [EMAIL PROTECTED]
www.intermoco.com
-----Original Message-----
From: Gerhard Otte [mailto:[EMAIL PROTECTED] Sent: Thursday, 27 November 2003 6:52 PM
To: Apache Torque Users List
Subject: AW: How to dynamically add new database to Torque
You have to start a new configuration with Configuration c = (Configuration)new PropertiesConfiguration("Torque.properties"); Then change youtr properties and finally call Torque.init(c); At least that worked for me.
Gerhard Otte __ mailto:[EMAIL PROTECTED] emediapark GmbH http://www.emediapark.de Tel:+49 (0)941 630804-2 Fax:-9 Hemauerstr.14,93047 Regensburg,Germany
-----Ursprüngliche Nachricht----- Von: Jeremy Kincaid [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 27. November 2003 07:31 An: [EMAIL PROTECTED] Betreff: How to dynamically add new database to Torque
I am trying to find a way to dynamically add a new database to Torque after it as already been initialized. I tried retreiving the configuration from Torque and then adding properties that would normally have appeared in the torque.properties file, then called Torque.init(configuration), or Torque.setConfiguration(configuration), but these didn't work. After looking at the source code, it was easy to see why. So does anyone have an alternative for the following:
Configuration config = Torque.getConfiguration(); //add adpater information config.addProperty( "database.newDatabase.adapter", "mysql" ); //add pooling information config.addProperty( "dsfactory.newDatabase.factory", "org.apache.torque.dsfactory.SharedPoolDataSourceFactory" ); config.addProperty( "dsfactory.newDatabase.defaultMaxActive", "10" ); config.addProperty( "dsfactory.newDatabase.testOnBorrow", "true" ); config.addProperty( "dsfactory.newDatabase.validationQuery", "SELECT 1" ); config.addProperty( "dsfactory.newDatabase.connection.driver", "org.gjt.mm.mysql.Driver" ); config.addProperty( "dsfactory.newDatabase.connection.url", "jdbc:mysql://localhost:3306/NewDatabase" );
Torque.init( config ); Connection newConnection = Torque.getConnection( "newDatabase" );
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]