Hallo,
there is a thing with OJB I can�n understand.
schnipp -----

 PersistenceBroker myBroker = 
PersistenceBrokerFactory.defaultPersistenceBroker();
 private void processObjects(ArrayList anObjectList)
        {   int theSize = anObjectList.size();

                  for (int i = 0 ; i < theSize; i++) {
                       myBroker.beginTransaction();
                   myBroker.store(anObjectList.get(i));
                      myBroker.commitTransaction();
                  }

        System.out.println("Writer wrote: "+theSize+ " Objects");
        }

schnapp -----

works without problem. No exceptions , all objects in the database.
---
Writer wrote: 10 Objects
Writer wrote: 41 Objects
Writer wrote: 50 Objects
---
fine :-)

but when I try do write a bulk of objects within one transaction I get an 
exception:
schnipp -----
 private void processObjects(ArrayList anObjectList)
        {   int theSize = anObjectList.size();

                  myBroker.beginTransaction();  // <------------

                  for (int i = 0 ; i < theSize; i++) {
                      myBroker.store(anObjectList.get(i));
                  }
 
                  myBroker.commitTransaction();// <------------

        System.out.println("Writer wrote: "+theSize+ " Objects");
        }

[org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR: Commit on 
underlying connection failed, try to rollback
java.lang.NullPointerException
java.sql.SQLException: java.lang.NullPointerException
        at 
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.doExecute(Unknown 
Source)
        at 
org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invoke(Unknown 
Source)
        at $Proxy0.doExecute(Unknown Source)
        at 
org.apache.ojb.broker.util.batch.BatchConnection.executeBatch(Unknown 
Source)
        at org.apache.ojb.broker.util.batch.BatchConnection.commit(Unknown 
Source)
        at 
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Unknown 
Source)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.commitTransaction(Unknown 
Source)
        at 
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.commitTransaction(Unknown 
Source)
        at 
de.intersoft.dacapo.model.batchjobs.DBWriterThread.processObjects(DBWriterThread.java:91)
        at 
de.intersoft.dacapo.model.batchjobs.DBWriterThread.run(DBWriterThread.java:76)
[org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] INFO: Rollback 
was called, do rollback on current connection 
[EMAIL PROTECTED]
org.apache.ojb.broker.TransactionAbortedException
        at 
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Unknown 
Source)
        at 
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.commitTransaction(Unknown 
Source)
        at 
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.commitTransaction(Unknown 
Source)
        at 
de.intersoft.dacapo.model.batchjobs.DBWriterThread.processObjects(DBWriterThread.java:91)
        at 
de.intersoft.dacapo.model.batchjobs.DBWriterThread.run(DBWriterThread.java:76)
schnapp -----


Here are my OJB parameters:
<descriptor-repository version="1.0" isolation-level="read-uncommitted">
 
    <jdbc-connection-descriptor
                jcd-alias="default"
                default-connection="true"
                platform="Oracle"
        jdbc-level="2.0"
        driver="oracle.jdbc.driver.OracleDriver"
        protocol="jdbc"
        subprotocol="oracle"
        dbalias="thin:@192.168.90.15:1521:db"
        username="xxx"
        password="xxx"
        batch-mode="true"
        useAutoCommit="0"
        ignoreAutoCommitExceptions="true"
     >
        <connection-pool
            maxActive="21"
            validationQuery="" />
   </jdbc-connection-descriptor> 
 
 
   Is this a known bug or am I missing a point.
 
 
Thanks in advance.

Michael Ruppert

Reply via email to