RE: build.sh won't run
did you cd to the OJB root directory before launching bin/build.sh ? OJB runs fine on my linux box... Thomas -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 10:49 AM To: [EMAIL PROTECTED] Subject: build.sh won't run Hello, I'm trying to install OJB on a linux computer. I set the the JAVA_HOME to the JDK1.4. I unpacked the OJB file. I checked the rights to run the build.sh (rights == 555). now, I try to run junit, calling it from the ojb-directory: bin/build.sh junit Here I get the message: bash: /bin/build.sh: Datei oder Verzeichnis nicht gefunden Does anyone have an idea, why this won't work? Thanks for helping in advanced. Yours sincerely, C. Pörtge - 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]
Question: can OJB handle bulk inserts within one transaction ??
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
Re: Question: can OJB handle bulk inserts within one transaction ??
Hi Michael, seems like a bug, did you tried batch-mode=false and then run the test? regards, Armin - Original Message - From: [EMAIL PROTECTED] To: OJB Users List [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 10:47 AM Subject: Question: can OJB handle bulk inserts within one transaction ?? 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.doEx ecute(Unknown Source) at org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invo ke(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(Unkn own Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.commitTransaction(U nknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.commitTransac tion(Unknown Source) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.processObjects(DBWrit erThread.java:91) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.run(DBWriterThread.ja va: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(Unkn own Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.commitTransaction(U nknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.commitTransac tion(Unknown Source) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.processObjects(DBWrit erThread.java:91) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.run(DBWriterThread.ja va: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 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Antwort: RE: build.sh won't run
Yes, my current directory for launching is the db-ojb-directory, which contains the bin-directory. Carsten Mahler Thomas [EMAIL PROTECTED] on 11.03.2003 10:58:42 Bitte antworten an OJB Users List [EMAIL PROTECTED] An: 'OJB Users List' Kopie: (Blindkopie: Carsten Pörtge) Thema: RE: build.sh won't run did you cd to the OJB root directory before launching bin/build.sh ? OJB runs fine on my linux box... Thomas -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 10:49 AM To: [EMAIL PROTECTED] Subject: build.sh won't run Hello, I'm trying to install OJB on a linux computer. I set the the JAVA_HOME to the JDK1.4. I unpacked the OJB file. I checked the rights to run the build.sh (rights == 555). now, I try to run junit, calling it from the ojb-directory: bin/build.sh junit Here I get the message: bash: /bin/build.sh: Datei oder Verzeichnis nicht gefunden Does anyone have an idea, why this won't work? Thanks for helping in advanced. Yours sincerely, C. Pörtge - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Antwort: RE: build.sh won't run
You could try to install ant and use ant to run the targets from build.xml by calling ant junit -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 11:44 AM To: OJB Users List Subject: Antwort: RE: build.sh won't run Yes, my current directory for launching is the db-ojb-directory, which contains the bin-directory. Carsten Mahler Thomas [EMAIL PROTECTED] on 11.03.2003 10:58:42 Bitte antworten an OJB Users List [EMAIL PROTECTED] An: 'OJB Users List' Kopie: (Blindkopie: Carsten Pörtge) Thema: RE: build.sh won't run did you cd to the OJB root directory before launching bin/build.sh ? OJB runs fine on my linux box... Thomas -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 10:49 AM To: [EMAIL PROTECTED] Subject: build.sh won't run Hello, I'm trying to install OJB on a linux computer. I set the the JAVA_HOME to the JDK1.4. I unpacked the OJB file. I checked the rights to run the build.sh (rights == 555). now, I try to run junit, calling it from the ojb-directory: bin/build.sh junit Here I get the message: bash: /bin/build.sh: Datei oder Verzeichnis nicht gefunden Does anyone have an idea, why this won't work? Thanks for helping in advanced. Yours sincerely, C. Pörtge - 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] - 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]
Re: Antwort: Re: Question: can OJB handle bulk inserts within one transaction ??
Hi again, ok, it's a bug. Could you report this to scarab http://scarab.werken.com/scarab/issues/ regards, Armin - Original Message - From: [EMAIL PROTECTED] To: OJB Users List [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 11:50 AM Subject: Antwort: Re: Question: can OJB handle bulk inserts within one transaction ?? Hi Achim, if I set batch-mode=false it works. Hi Michael, seems like a bug, did you tried batch-mode=false and then run the test? regards, Armin - Original Message - From: [EMAIL PROTECTED] To: OJB Users List [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 10:47 AM Subject: Question: can OJB handle bulk inserts within one transaction ?? 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.doEx ecute(Unknown Source) at org.apache.ojb.broker.util.batch.PreparedStatementInvocationHandler.invo ke(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(Unkn own Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.commitTransaction(U nknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.commitTransac tion(Unknown Source) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.processObjects(DBWrit erThread.java:91) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.run(DBWriterThread.ja va: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(Unkn own Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.commitTransaction(U nknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.commitTransac tion(Unknown Source) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.processObjects(DBWrit erThread.java:91) at de.intersoft.dacapo.model.batchjobs.DBWriterThread.run(DBWriterThread.ja va: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 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Connect to hypersonic server
Say I have a hypersonic database server running on port 2. How do I connect to it with OJB/ODMG? In the repository xml you can give a dbalias, but this seems to be to the actual file that hypersonic uses. Eg., I could do something like this (if I wasn't trying to use OJB): DriverManager.getConnection( jdbc:hsqldb:hsql://localhost:2, sa, ); Thanks, Peter
RE: Connect to hypersonic server
Hi, You can break down the URL as follows : jdbc-connection-descriptor platform=hsql default-connection=true jcd-alias= jdbc-level=2.0 driver=thedrivername-can't-remember-it-of-the-top-of-my-head protocol=jdbc subprotocol=hsqldb:hsql dbalias=//localhost:2 username=sa password= This is all without looking it up, so it's probably not exactly right; the key attributes are protocol, subprotocol, and dbalias. Cheers, Charles -Original Message- From: Peter Kirk [mailto:[EMAIL PROTECTED] Sent: 11 March 2003 11:20 To: 'OJB Users List' Subject: Connect to hypersonic server Say I have a hypersonic database server running on port 2. How do I connect to it with OJB/ODMG? In the repository xml you can give a dbalias, but this seems to be to the actual file that hypersonic uses. Eg., I could do something like this (if I wasn't trying to use OJB): DriverManager.getConnection( jdbc:hsqldb:hsql://localhost:2, sa, ); Thanks, Peter This email and any attachments are strictly confidential and are intended solely for the addressee. If you are not the intended recipient you must not disclose, forward, copy or take any action in reliance on this message or its attachments. If you have received this email in error please notify the sender as soon as possible and delete it from your computer systems. Any views or opinions presented are solely those of the author and do not necessarily reflect those of HPD Software Limited or its affiliates. At present the integrity of email across the internet cannot be guaranteed and messages sent via this medium are potentially at risk. All liability is excluded to the extent permitted by law for any claims arising as a re- sult of the use of this medium to transmit information by or to HPD Software Limited or its affiliates. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Connect to hypersonic server
You can break down the URL as follows : jdbc-connection-descriptor platform=hsql default-connection=true jcd-alias= jdbc-level=2.0 driver=thedrivername-can't-remember-it-of-the-top-of-my-head protocol=jdbc subprotocol=hsqldb:hsql dbalias=//localhost:2 username=sa password= Thanks!
RE: Trying to get OJB up and running (newbie)
I've got it running now, thanks. The problem was that the database name in the db.open call should be set to the jcd-alias from the repository xml - it should not be set to the databaseName value returned from databaseName = ( (PersistenceBrokerConfiguration) PersistenceBrokerFactory.getConfigurator() .getConfigurationFor( null ) ).getRepositoryFilename(); don't know why I tried that Thanks, Peter
Mapping a join using collection-descriptor, not joining on primary key
Hello. I'm currently trying to make a join between two tables using a collection-descriptor. Here's the story : I've got a table listing units, with a primary key consisting of a unit ID. Each unit can have a manager, and a correspondant : those are two 0:1 relations (you can have one or none in each case). So the units table has got two columns each containing an ID which points to the persons table. Here is the SQL request I'd issue : SELECT * FROM UNITS U LEFT OUTER JOIN PERSONS P1 ON U.MNG_ID = P1.PID LEFT OUTER JOIN PERSONS P1 ON U.CORR_ID = P2.PID; For the moment, I have tried with a reference descriptor, on one column only : reference-descriptor name=manager class-ref=mypkg.Manager auto-retrieve=true foreignkey field-id-ref=2 / /reference-descriptor The second field is MNG_ID. The only problem is that, using P6Spy, I noticed that each time I called the returned Iterator's next() method, OJB would issue a call to the database to retrieve the data from the PERSONS table, which certainly isn't what I want : I want the whole data to be retrieved in one SQL call, period. So I glanced into the documentation, to see the allArticlesInGroup example. But this isn't quite what I want : I'd like to be able to specify that I want MNG_ID to be used for the join, not USERS' primary key. And since the collection-descriptor should be on the USERS table and it doesn't permit to specify a foreign-key, I don't know how I can do it. Can I achieve this and have OJB get the job done in one SQL call ? Thanks. Patrick. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Oracle: store() - Broken Pipe
Hi everbody, I currently migrate one of my projects from 0.95 to 1.0rc1 and encounter a persistent Bropen Pipe error when i try to store a new object. Reading is ok, so the database (Oracle) is online and reachable. I use a custom SequenceManger wich utilizes Oracle sequences. The relevant part of the stack is: java.sql.SQLException: Broken Pipe at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285) at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnection.java:717) at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:634) at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatement(StatementsForClassImpl.java:247) at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getSelectByPKStmt(StatementsForClassImpl.java:200) at org.apache.ojb.broker.accesslayer.StatementManager.getSelectByPKStatement(StatementManager.java:682) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcAccessImpl.java:487) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:640) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.store(Unknown Source) Any Ideas or Hints? TIA! Uli - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
speed question
We're experiencing a speed difference we can't explain. We've tried the following code in two circumstances: Date start = new Date(); PersistenceManager manager = factory.getPersistenceManager(); PersistenceBrokerFactory.defaultPersistenceBroker().clearCache(); manager.currentTransaction().begin(); String filter = registrationNumber == 2; Query query = manager.newQuery(AircraftValue.class,filter); Collection all = (Collection)query.execute(); Interator result = all.iterator(); Date end = new Date(); When packaged in a .war and invoked by a .jsp, the code executes in about 15 ms. When packaged in an ejbLoad() method on a BMP, it takes about 450 ms. The OJB.properties and registry.xml files are identical in both cases (copied from OJB 0.9.9), and we're using a datasource to SQL Server. Is this speed difference resulting from being executed inside a BMP transaction? Or is something else going on? Thanks in advance, Don --- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Globally Unique Sequences
It appears that when you set globalSequenceId, it doesn't mean global, it means base it on the column name. This is very misleading, and as it turns out, prone to error. Specifically, in Oracle, column names are case-insensitive, but when we use the globalSequenceId, their casing matters because it is used to construct an OJB sequence name. The error prone part is that developers don't necessarily case them right in the repository_user.xml. 1) I think there should be a TRULY globalSequenceId option, and this current one should be columnBasedSequenceId 2) The columnBased one needs to be (at least in some circumstances) case-insenstive David This message contains information from Equifax Inc. which may be confidential and privileged. If you are not an intended recipient, please refrain from any disclosure, copying, distribution or use of this information and note that such actions are prohibited. If you have received this transmission in error, please notify by e-mail [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Oracle: store() - Broken Pipe
Hi Uli, if you say custom SM you mean your own implementation based on the 0.95 code? regards, Armin - Original Message - From: Büttgen Ulrich, IT5 [EMAIL PROTECTED] To: 'OJB Users List' [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 3:09 PM Subject: Oracle: store() - Broken Pipe Hi everbody, I currently migrate one of my projects from 0.95 to 1.0rc1 and encounter a persistent Bropen Pipe error when i try to store a new object. Reading is ok, so the database (Oracle) is online and reachable. I use a custom SequenceManger wich utilizes Oracle sequences. The relevant part of the stack is: java.sql.SQLException: Broken Pipe at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:285) at oracle.jdbc.driver.OracleConnection.privatePrepareStatement(OracleConnec tion.java:717) at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.ja va:634) at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.prepareStatemen t(StatementsForClassImpl.java:247) at org.apache.ojb.broker.accesslayer.StatementsForClassImpl.getSelectByPKSt mt(StatementsForClassImpl.java:200) at org.apache.ojb.broker.accesslayer.StatementManager.getSelectByPKStatemen t(StatementManager.java:682) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.materializeObject(JdbcA ccessImpl.java:487) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(PersistenceBr okerImpl.java:640) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.store(Unknown Source) Any Ideas or Hints? TIA! Uli - 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]
Single table for a 1:1 association
My apologies in advance if this is a newbie question. I have two objects, ObjectA and ObjectB that are in a 1:1 association. I'd like to map them both to a single DB table using one row to hold a pair of ObjectA/ObjectB instances. For example, if the objects look like this: class ObjectA { int id; String name; ObjectB b; ... } class ObjectB { int foo; int bar; ... } I'd like single table that contains id, name, foo, and bar as separate columns. I can see how to use a RowReader to read ObjectA/ObjectB instances in from a single table, but I can't see how to write an instance of ObjectA/ObjectB out to the same table. Any help is greatly appreciated. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
m:n relation on tables I can't write to
I have an m:n relation with an implicit relation table, just like the Person/Project example. My twist, however, is that I don't have update rights to the Person and Project tables. I don't ever udate those tables anyway. They are institutional tables created an maintained by other processes. What I do need to update is the Person_Project table that holds the relation. I do have update rights to this table. Up until now in my development I haven't had to do any updates, so things have been fine. But now I need to update the relation table. I'm using ODMG so I do something like this: -- get the person -- get the project tx.lock(person, Transaction.WRITE); person.getProjects().add(project); tx.commit(); But this causes an update to the Person table which fails due to lack of privileges. Does anyone have suggestions for this situation? Perhaps with the PB api? Thanks, Will - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ODMG Database closed with uncommitted connection
We use OJB 0.9.9 with the ODMG layer. I have to reopen a Database in the same thread, as you can see in the example below. Obviously, closing a Database does not explicitly commit and close the current JDBC Connection. This is leading to uncommitted db-locks on entries in table OJB_LOCKENTRY after an sql-delete, if persistent locks are configured and autoCommit is set to false. Why does Database.close() not commit or close the JDBC connection ??? Step 1: open Implementation odmg = OJB.getInstance(); Database db = odmg.newDatabase(); db.open(jcdAlias#user1#pwd1, Database.OPEN_READ_ONLY); Transaction tx = odmg.newTransaction(); tx.begin(); //...delete from OJB_LOCKENTRY tx.commit(); db.close(); // current connection is not committed nor closed java.sql.Connection con = ((TransactionImpl) tx).getTransactionImpl() .getBroker().serviceConnectionManager().getConnection(); log.debug(JDBC AutoCommit +con.getAutoCommit()); // false log.debug(JDBC Connection +(con.isClosed() ? closed : open)); // its open Step 2: reopen db.open(jcdAlias#user2#pwd2, Database.OPEN_READ_WRITE); Transaction tx = odmg.newTransaction(); tx.begin(); //...delete from OJB_LOCKENTRY //connection freeze here Regards, Juergen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
1.0.RC1 - Client/Server - Server Exception - Configurable Factory instantiation failed
I'm attempting to get 1.0.RC1 up and running, utilizing the C/S model. I've followed the directions on the OJB site to the letter -- everything built/tested properly and I've edited the file target/test/ojb/OJB.properties to change useServer=true. When I run bin\server, I get an immediate stack trace (shown below). Any suggestions/ideas on how to resolve? Regards Dave -- D:\JBuilder7\db-ojb-1.0.rc1bin\server _ _ __ (_)| |_ / _\| || _ \ ~ be persistent ~ \__/| ||___/v. 1.0.rc1 /_/ PersistenceBrokerServer starting... [org.apache.ojb.broker.metadata.ConnectionRepository] INFO: Could not found org. apache.ojb.broker.metadata.JdbcConnectionDescriptor for PBKey org.apache.ojb.bro ker.PBKey: repository=repository.xml, user=null, password=null [org.apache.ojb.broker.accesslayer.ConnectionManagerFactory] ERROR: Configurable Factory instantiation failed for class class org.apache.ojb.broker.accesslayer.C onnectionManagerImpl * Factory types: 1 - Type: org.apache.ojb.broker.PersistenceBroker * Factory arguments: 1 - Argument: [EMAIL PROTECTED] null java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(ClassHelper.java:3 8) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:140) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Platfo rmFactory.java:81) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.init(Connec tionManagerImpl.java:101) ... 12 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(ClassHelper.java:3 8) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:140) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Platfo rmFactory.java:81) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.init(Connec tionManagerImpl.java:101) ... 12 more rethrown as org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:173) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.reflect.InvocationTargetException at
Patch for TransactionImpl.assertFkAssignment
The problem: I'm using ODMG transactions, and I normally set foreign-key ID fields directly rather than set reference-object fields. I ran into problems when I did the following sequence of events, working with an ODMG database 'db' and a PersistenceBroker 'broker': A a = new A(); db.makePersistent(a); B b = new B(); b.setAId(a.getId()); broker.retrieveAllReferences(b); // so that B's reference to // A gets updated from the // foreign key field I just set db.makePersistent(b); In the last step, I get: java.lang.NullPointerException at org.apache.ojb.odmg.TransactionImpl.assertFkAssignment(TransactionImpl.j ava:811) at org.apache.ojb.odmg.TransactionImpl.assignReferenceFKs(TransactionImpl.j ava:852) at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:259) at org.apache.ojb.odmg.DatabaseImpl.makePersistent(DatabaseImpl.java:409) because at the time I make B persistent its reference to A is a proxy that has not yet been materialized, and cannot be materialized via getRealSubject() - it is not yet known to the persistence broker, only to the ObjectEnvelopeTable in the current transaction. My solution: I added code to TransactionImpl.assertFkAssignment() that tries to fetch the proxy via the ObjectEnvelopeTable in case real materialization fails: ... else if (ref instanceof Proxy) { IndirectionHandler ih = (IndirectionHandler) Proxy.getInvocationHandler(ref); refInstance = ih.getRealSubject(); /* Begin patch */ if (refInstance == null) { refInstance = objectEnvelopeTable.getByIdentity(ih.getIdentity()).getObject(); } /* End patch */ } ... Regards, Scott Howlett Scott Howlett PDK Solutions Group 978-262-6692 (office) 617-721-7198 (mobile) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 1.0.RC1 - Client/Server - Server Exception - Configurable Factory instantiation failed
Hi Dave, the client-server mode is not up to date. There was started a discussion 'Shall we drop c/s mode?' on the dev-list some weeks ago. Don't know if they arrived at a decision. regards, Armin - Original Message - From: Dave Hodson [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, March 11, 2003 11:59 PM Subject: 1.0.RC1 - Client/Server - Server Exception - Configurable Factory instantiation failed I'm attempting to get 1.0.RC1 up and running, utilizing the C/S model. I've followed the directions on the OJB site to the letter -- everything built/tested properly and I've edited the file target/test/ojb/OJB.properties to change useServer=true. When I run bin\server, I get an immediate stack trace (shown below). Any suggestions/ideas on how to resolve? Regards Dave -- D:\JBuilder7\db-ojb-1.0.rc1bin\server _ _ __ (_)| |_ / _\| || _ \ ~ be persistent ~ \__/| ||___/v. 1.0.rc1 /_/ PersistenceBrokerServer starting... [org.apache.ojb.broker.metadata.ConnectionRepository] INFO: Could not found org. apache.ojb.broker.metadata.JdbcConnectionDescriptor for PBKey org.apache.ojb.bro ker.PBKey: repository=repository.xml, user=null, password=null [org.apache.ojb.broker.accesslayer.ConnectionManagerFactory] ERROR: Configurable Factory instantiation failed for class class org.apache.ojb.broker.accesslayer.C onnectionManagerImpl * Factory types: 1 - Type: org.apache.ojb.broker.PersistenceBroker * Factory arguments: 1 - Argument: [EMAIL PROTECTED] null java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(ClassHelper.java:3 8) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:140) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Platfo rmFactory.java:81) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.init(Connec tionManagerImpl.java:101) ... 12 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(ClassHelper.java:3 8) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:140) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Platfo rmFactory.java:81) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.init(Connec tionManagerImpl.java:101) ... 12 more rethrown as org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:173) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at
Re: Any guidelines or best practices for OJB ?
Hi Theo, As no one else answered I share some thoughts. Theo Niemeijer wrote: Hi all. I hope this post is not to long to read. I am working with OJB for several months now, and although I am quite happy with its existance, I still have that nagging feeling that I am doing things wrong :-. Or that things that seem strange are simply caused by my own misunderstandings. So what I would like to now: Can anyone with experience offer some best practice guidelines ? For starters I will tell how we use it: - We use MSSQL Server, with JBoss app server, and are still using 0.9.5 for production. (I have tested with 1.0rc1, and it seems to work after changing some deprecated method calls. But I do not dare to put it in production yet because of some subtle or not so subtle changes that were introduced) Although I know SqlServer from past projects I have no personal experience with OJB + MS SqlServer. The general recommendation is to always use the latest release as part of a continous integration dicipline. We are doing this for all libraries that OJB depends on. See: http://cvs.apache.org/builds/gump/2003-03-11/db-ojb.html - We use OJB in single server mode, with its own connection pooling. Using OJB C/S mode is definitely not recommended. I have no general tips wrt. connection pooling. It depends a lot to your actual environment. With most app servers you won't have to rely on OJB con pooling. - We have unique global identities, so each objects has a unique key, using SequenceManagerHighLowImpl (compatible with HiLo I think) We use an Integer field as the key. You could also use OJB GUIDs. They are based on a VARCHAR field. - We heavely use proxy references, and collection proxies, using the 'proxy=true' idiom. Good idea for normal applications. special scenarios could possibly benefit from not using proxies. - We only use the Persistence Broker API, making queries with the Criteria objects and getIteratorByQuery and getCollectionByQuery. We tried to not use the addSql() method, but could not avoid it in some places. PB is a good choice if you - want maximum performance and flecibility - are not bound to a standard API - are willing to implement some higher level persistence-manager functionality on your own I know several projects that use a lot of QueryBySql statements. Of course you loose some purity and code beauty, but it may be a good choice for special problems. We had no problems in those problems so far... - We do not use ODMG or JDO at all. We have quite complex queries expressed as OJB Criteria, and were attracted by the portable way these could be expressed, and transferred from client to server. Extra criteria are added for things like access rights and 'views' based on state. (front office sees a different 'view' than back-office) That's one of the benefits of the PB. It allows you to build your own higher level persistence functionality by providing a flexible and rock-solid foundation. If you are aware of the limited semantics of the PB you can build extremely powerful persistence managers on top of it. Our ODMG and JDO layer are examples for this. - We have quite a lot of domain objects, most of them in several levels of hierarchy, all mapped in the repository. The main domain hierarchies are are each mapped to a single table. The many relations are made between the abstract base objects of such a domain hierarchie. (Activities, Resources, Events, Articles, Locations) No general rule here. it really depends on the domain model. - We mapped our domain objects directly on Java objects, but added OJB support (beforeStore) to add things like createdBy, creationDate, modifiedBy, modifiedDate etc. Therefore we use a PersistentObject base class that has the unique key and such. In the business frameworks my company develops on top of OJB we also use a persistent base class. this makes it much easier to provide framework services to all entity objects. - We actually use separate Tomcat web servers, connecting to the JBoss app server Session EJB's, which in turn use the OJB persistence broker. Result objects and collections are transferred to the client. In our frameworks we provide delegation mechanisms that allow to use Swing, Servlet (Struts) and generic Webservices clients to access the OJB based business logic either - through a direct inmemory call - using SessionBeans - using RMI - using CORBA This allows us to use one and the same business logic and a wide range of execution environments. E.g. - in WIndows2000, Tomcat servlet apps. - in MVS WebSphere based applications - on HP Nonstop Server Corba environments, etc... - Transactions are not used for complex stuff, only for the simple operations that are done with a single call to a facade session EJB. So no transactions over a series of EJB calls. Good idea! - We try to remove objects from the cache after
Re: 1.0.RC1 - Client/Server - Server Exception - Configurable Factoryinstantiation failed
Hi Dave, The C/S mode is currently not working. We are still discussing if it will be discontinued, as there is no real need for it. Please don't use it. regards, Thomas Dave Hodson wrote: I'm attempting to get 1.0.RC1 up and running, utilizing the C/S model. I've followed the directions on the OJB site to the letter -- everything built/tested properly and I've edited the file target/test/ojb/OJB.properties to change useServer=true. When I run bin\server, I get an immediate stack trace (shown below). Any suggestions/ideas on how to resolve? Regards Dave -- D:\JBuilder7\db-ojb-1.0.rc1bin\server _ _ __ (_)| |_ / _\| || _ \ ~ be persistent ~ \__/| ||___/v. 1.0.rc1 /_/ PersistenceBrokerServer starting... [org.apache.ojb.broker.metadata.ConnectionRepository] INFO: Could not found org. apache.ojb.broker.metadata.JdbcConnectionDescriptor for PBKey org.apache.ojb.bro ker.PBKey: repository=repository.xml, user=null, password=null [org.apache.ojb.broker.accesslayer.ConnectionManagerFactory] ERROR: Configurable Factory instantiation failed for class class org.apache.ojb.broker.accesslayer.C onnectionManagerImpl * Factory types: 1 - Type: org.apache.ojb.broker.PersistenceBroker * Factory arguments: 1 - Argument: [EMAIL PROTECTED] null java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(ClassHelper.java:3 8) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:140) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Platfo rmFactory.java:81) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.init(Connec tionManagerImpl.java:101) ... 12 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at org.apache.ojb.broker.util.ClassHelper.newInstance(ClassHelper.java:3 8) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:140) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten ceBrokerServer.java:122) at org.apache.ojb.broker.server.PersistenceBrokerServer.main(Persistence BrokerServer.java:256) Caused by: java.lang.NullPointerException at org.apache.ojb.broker.platforms.PlatformFactory.getPlatformFor(Platfo rmFactory.java:81) at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.init(Connec tionManagerImpl.java:101) ... 12 more rethrown as org.apache.ojb.broker.PersistenceBrokerException at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:173) at org.apache.ojb.broker.util.factory.ConfigurableFactory.createNewInsta nce(ConfigurableFactory.java:226) at org.apache.ojb.broker.accesslayer.ConnectionManagerFactory.createConn ectionManager(ConnectionManagerFactory.java:35) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.init(Persisten ceBrokerImpl.java:206) at org.apache.ojb.broker.server.BrokerPool.init(BrokerPool.java:94) at org.apache.ojb.broker.server.PersistenceBrokerServer.init(Persisten