Hi,
        I am using odmg api with ojb version 0.9.5 in our project

I have a base PersistanceContext class which has static Implementation and Database 
instances.
The odmg instace is initialized by the OJB.getInstance() and the database is opened 
using 
odmg.newDatabase at the
intialization.

Then in the begin transaction method beofre each transaction is created 
and started, a database.open with the repository file name is done.
The exception generated is caught and ignored in the case of a Database 
already open exception.
Then the transaction is created and begun using the following two lines
                tx = odmg.newTransaction() ;
                tx.begin() ;

What happens is that after a few invocations I get the following exception
[11/6/02 19:09:10:898 GMT+05:30] 39850c47 SystemOut     U (EMBusiness      
     224 ) Error Opening Database : ignoring - Database is already open

[11/6/02 19:09:10:898 GMT+05:30] 39850c47 SystemOut     U 
[org.apache.ojb.odmg.TransactionImpl] WARN: 
[11/6/02 19:09:10:898 GMT+05:30] 39850c47 SystemOut     U TransactionImpl 
created with null DatabaseImpl.
[11/6/02 19:09:11:108 GMT+05:30] 39850c47 SystemOut     U (EMBusiness      
     224 ) Error while beggining transaction null
java.lang.NullPointerException

The problem is that just before the warning and exception caused due to 
the null databse, I get the database already open exception which is 
caught and ignored, when trying to open the database. This database open 
statement is the statement just before the new and begin transaction 
statements that causes the exception. I just cant understand how these two 
can happen together. Can anyone tell me what I am doing wrong.

Thanks in advance.

                                        Regards Jose

Reply via email to