I got mine working by opening database with 'jcd-alias' instead of databaseName:
db.open(<jcd-alias>, Database.OPEN_READ_WRITE) where <jcd-alias> is defined in repository_database.xml. Zhangling Ren -----Original Message----- From: Thomas B. Holdren [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 25, 2003 11:51 AM To: [EMAIL PROTECTED] Subject: OJB-0.9.9 + MySQL ODMG Startup Problem Greetings, I'm trying to do my first OJB project, and I'm not getting very far. I was able to get tutorial1 to work, and I was able to use the Persistence Broker functionality in my own test app just fine by basically copying tutorial1 code into a test app and modifying it a bit. So PB API works good. Now I'm trying to use the tutorial2, ODMG API, and I get the same error trying to run the tutorial2 program as I do when I copy its code into my test application. I have heard no changes need to be made to the repository.xml files to switch API's, correct me if I'm wrong. As I said, the PB API works fine for me, but using the same xml files and when I try to db.open(databaseName, Database.OPEN_READ_WRITE) I get the following stack trace: =============================== [org.apache.ojb.broker.metadata.ConnectionRepository] INFO: Could not found org.apache.ojb.broker.metadata.JdbcConnectionDescriptor for PBKey org.apache.ojb.broker.PBKey: repository=repository.xml, user=null, password=null java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [org.apache.ojb.broker.accesslayer.ConnectionManagerFactory] ERROR: ConfigurableFactory instantiation failed for class class org.apache.ojb.broker.accesslayer.ConnectionManagerImpl * Factory types: 1 - Type: org.apache.ojb.broker.PersistenceBroker at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) * Factory arguments: 1 - Argument: [EMAIL PROTECTED] null at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) [org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl] ERROR: Creation of a new PB instance failed null at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionM anager(Unknown Source) [org.apache.ojb.odmg.DatabaseImpl] ERROR: Open database failed: Borrow broker from pool failed: Creation of a new PB instance failed Borrow broker from pool failed: Creation of a new PB instance failed at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createNewBroker Instance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolable ObjectFactory.makeObject(Unknown Source) at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeye dObjectPool.java:748) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersisten ceBroker(Unknown Source) at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unkno wn Source) at org.apache.ojb.odmg.DatabaseImpl.open(Unknown Source) at org.bswt.gabriel.test.UserTest2.<init>(Unknown Source) at org.bswt.gabriel.test.UserTest2.main(Unknown Source) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Unknown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.<init>(Unknown Source) ... 22 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createNewBroker Instance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolable ObjectFactory.makeObject(Unknown Source) at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeye dObjectPool.java:748) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersisten ceBroker(Unknown Source) at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unkno wn Source) at org.apache.ojb.odmg.DatabaseImpl.open(Unknown Source) at org.bswt.gabriel.test.UserTest2.<init>(Unknown Source) at org.bswt.gabriel.test.UserTest2.main(Unknown Source) Caused by: org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionM anager(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.<init>(Unknown Source) ... 13 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) ... 17 more Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Unknown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.<init>(Unknown Source) ... 22 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createNewBroker Instance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolable ObjectFactory.makeObject(Unknown Source) at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeye dObjectPool.java:748) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersisten ceBroker(Unknown Source) at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unkno wn Source) at org.apache.ojb.odmg.DatabaseImpl.open(Unknown Source) at org.bswt.gabriel.test.UserTest2.<init>(Unknown Source) at org.bswt.gabriel.test.UserTest2.main(Unknown Source) Caused by: org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionM anager(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.<init>(Unknown Source) ... 13 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) ... 17 more Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Unknown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.<init>(Unknown Source) ... 22 more rethrown as org.apache.ojb.broker.PBFactoryException: Creation of a new PB instance failed at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createNewBroker Instance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolable ObjectFactory.makeObject(Unknown Source) at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeye dObjectPool.java:748) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersisten ceBroker(Unknown Source) at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unkno wn Source) at org.apache.ojb.odmg.DatabaseImpl.open(Unknown Source) at org.bswt.gabriel.test.UserTest2.<init>(Unknown Source) at org.bswt.gabriel.test.UserTest2.main(Unknown Source) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) ... 8 more Caused by: org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionM anager(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.<init>(Unknown Source) ... 13 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) ... 17 more Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Unknown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.<init>(Unknown Source) ... 22 more rethrown as org.apache.ojb.broker.PBFactoryException: Borrow broker from pool failed: Creation of a new PB instance failed at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersisten ceBroker(Unknown Source) at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unkno wn Source) at org.apache.ojb.odmg.DatabaseImpl.open(Unknown Source) at org.bswt.gabriel.test.UserTest2.<init>(Unknown Source) at org.bswt.gabriel.test.UserTest2.main(Unknown Source) Caused by: org.apache.ojb.broker.PBFactoryException: Creation of a new PB instance failed at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createNewBroker Instance(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolable ObjectFactory.makeObject(Unknown Source) at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeye dObjectPool.java:748) ... 5 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) ... 8 more Caused by: org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unk nown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionM anager(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.<init>(Unknown Source) ... 13 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces sorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc torAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(Unknown Source) ... 17 more Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Unknown Source) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.<init>(Unknown Source) ... 22 more org.odmg.DatabaseNotFoundException: OJB can't open database repository.xml Borrow broker from pool failed: Creation of a new PB instance failed at org.apache.ojb.odmg.DatabaseImpl.open(Unknown Source) at org.bswt.gabriel.test.UserTest2.<init>(Unknown Source) at org.bswt.gabriel.test.UserTest2.main(Unknown Source) =========================================================== UserTest2.java: =========================================================== package org.bswt.gabriel.test; import org.apache.ojb.broker.PersistenceBrokerFactory; import org.apache.ojb.broker.singlevm.PersistenceBrokerConfiguration; import org.apache.ojb.broker.util.configuration.ConfigurationException; import org.apache.ojb.broker.util.ui.AsciiSplash; import org.apache.ojb.odmg.OJB; import org.odmg.Database; import org.odmg.Implementation; import org.odmg.ODMGException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Vector; /** * The tutorial application. * @author: thma */ public class UserTest2 { private Vector useCases; private static String databaseName; /** * Application constructor comment. */ static { try { databaseName = ((PersistenceBrokerConfiguration) PersistenceBrokerFactory .getConfigurator() .getConfigurationFor(null)) .getRepositoryFilename(); } catch (ConfigurationException e) { databaseName = "repository.xml"; } } public UserTest2() { // get facade instance Implementation odmg = OJB.getInstance(); Database db = odmg.newDatabase(); System.err.println(db); //open database try { db.open(databaseName, Database.OPEN_READ_WRITE); } catch (ODMGException ex) { ex.printStackTrace(); } } public void run() { } public static void main(String[] args) { UserTest2 ut = new UserTest2(); ut.run(); } } ================================================================== As I said, the PersistenceBroker works fine for me, so I don't think it's my repository.xml config, but here it is just in case (at least the relevant database part): repository_database.xml =================================================================== <jdbc-connection-descriptor jcd-alias="gabriel" default-connection="true" platform="MySQL" jdbc-level="3.0" driver="org.gjt.mm.mysql.Driver" protocol="jdbc" subprotocol="mysql" dbalias="//sql/gabriel" username="gabriel" password="********" > <connection-pool maxActive="10" whenExhaustedAction="1" validationQuery="SELECT COUNT(*) FROM user" /> </jdbc-connection-descriptor> =================================================================== I haven't changed any of the other configs. Any help at ALL would be very much appreciated. -- Thomas Brian Holdren, Systems Programmer Health Design Plus "It's not what you know that is important, it's knowing how to find what you don't know.' -- Thomas Brian Holdren, Systems Programmer Health Design Plus "It's not what you know that is important, it's knowing how to find what you don't know.' --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
