Hello all, I'm still having problems as I stated in my previous "Rollback problems"
threads and am sending this out again in hope of some answers. What's happening is
that I try to insert a value that is already in the database, I get a duplicate entry
excep, I try to rollback the database, then castor prints out the stack trace for a
nullpointerexception, it doesn't throw it so I can catch and handle it my self.
After that I can no longer get locks on any of the data and keep getting
readLockTimeOuts.
They NPE is with the DuplicatEntry :
java.lang.NullPointerException: Adding null value is not allowed
at org.exolab.castor.persist.FieldMolder.addValue(FieldMolder.java:274)
at
org.exolab.castor.persist.CollectionProxy$ColProxy.add(ClassMolder.java:3141)
at org.exolab.castor.persist.ClassMolder.revertObject(ClassMolder.java:2551)
at org.exolab.castor.persist.LockEngine.revertObject(LockEngine.java:850)
at
org.exolab.castor.persist.TransactionContext.rollback(TransactionContext.java:1720)
at org.exolab.castor.jdo.engine.DatabaseImpl.rollback(DatabaseImpl.java:536)
at
com.vort.help.impl.CommandRecieverImpl.executeCommand(CommandRecieverImpl.java:51)
at
com.vort.help.tests.EmployeeTester.testCreateEmployee(EmployeeTester.java:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.netbeans.modules.junit.testrunner.JUnitTestRunner.doRun(JUnitTestRunner.java:277)
at
org.netbeans.modules.junit.testrunner.JUnitTestRunner.start(JUnitTestRunner.java:325)
at
org.netbeans.modules.junit.testrunner.JUnitTestRunner.main(JUnitTestRunner.java:189)
org.exolab.castor.jdo.DuplicateIdentityException: Duplicate identity found for object
of type com.vort.help.beans.Employee with identity nstuarttest: an object with the
same identity already exists in persistent storage
at org.exolab.castor.jdo.engine.SQLEngine.create(SQLEngine.java:675)
at org.exolab.castor.persist.ClassMolder.create(ClassMolder.java:912)
at org.exolab.castor.persist.LockEngine.create(LockEngine.java:454)
at
org.exolab.castor.persist.TransactionContext.create(TransactionContext.java:883)
at org.exolab.castor.jdo.engine.DatabaseImpl.create(DatabaseImpl.java:363)
at com.vort.help.commands.AddEmployee.execute(AddEmployee.java:45)
at
com.vort.help.impl.CommandRecieverImpl.executeCommand(CommandRecieverImpl.java:46)
at
com.vort.help.tests.EmployeeTester.testCreateEmployee(EmployeeTester.java:128)
.....
Where the transaction time outs are:
2004-03-19 12:26:53,701 [main] DEBUG com.vort.help.commands - StackTrace:
org.exolab.castor.jdo.LockNotGrantedException:
persist.readLockTimeoutcom.vort.help.beans.Department/11/0 by [EMAIL PROTECTED]
at org.exolab.castor.persist.ObjectLock.acquireLoadLock(ObjectLock.java:431)
at org.exolab.castor.persist.LockEngine$TypeInfo.acquire(LockEngine.java:1184)
at
org.exolab.castor.persist.LockEngine$TypeInfo.access$300(LockEngine.java:1011)
at org.exolab.castor.persist.LockEngine.load(LockEngine.java:352)
at
org.exolab.castor.persist.TransactionContext.load(TransactionContext.java:649)
at org.exolab.castor.persist.QueryResults.fetch(QueryResults.java:229)
at
org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.next(OQLQueryImpl.java:697)
at
org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.next(OQLQueryImpl.java:670)
at com.vort.help.commands.GetDepartment.execute(GetDepartment.java:57)
at
com.vort.help.impl.CommandRecieverImpl.executeCommand(CommandRecieverImpl.java:46)
at com.vort.help.tests.EmployeeTester.testLoad(EmployeeTester.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
.....
Thanks for any assitance.
-Nick
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.634 / Virus Database: 406 - Release Date: 3/18/2004
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev