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(NativeConstructorAccessorImpl.java:39)
* Factory arguments:
1 - Argument: [EMAIL PROTECTED]
null
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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(Unknown Source)
at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionManager(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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.createNewBrokerInstance(Unknown Source)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolableObjectFactory.makeObject(Unknown Source)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:748)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersistenceBroker(Unknown Source)
at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unknown 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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.createNewBrokerInstance(Unknown Source)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolableObjectFactory.makeObject(Unknown Source)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:748)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersistenceBroker(Unknown Source)
at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unknown 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(Unknown Source)
at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionManager(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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.createNewBrokerInstance(Unknown Source)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolableObjectFactory.makeObject(Unknown Source)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:748)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersistenceBroker(Unknown Source)
at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unknown 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(Unknown Source)
at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionManager(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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.createNewBrokerInstance(Unknown Source)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolableObjectFactory.makeObject(Unknown Source)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:748)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersistenceBroker(Unknown Source)
at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unknown 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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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(Unknown Source)
at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionManager(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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.createPersistenceBroker(Unknown Source)
at org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(Unknown 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.createNewBrokerInstance(Unknown Source)
at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl$PBKeyedPoolableObjectFactory.makeObject(Unknown Source)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:748)
... 5 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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(Unknown Source)
at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInstance(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConnectionManager(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(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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]
