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(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]



Reply via email to