Hi, api doc says: Commit the transaction, but reopen the transaction, retaining all locks. Calling checkpoint commits persistent object modifications made within the transaction since the last checkpoint to the database. The transaction retains all locks it held on those objects at the time the checkpoint was invoked.
<pseudo-code> tx = odmg.newTransaction(); tx.begin(); .... // do something tx.lock(....) ... // commit all made changes and let // tx open tx.checkpoint() ... do some more ... // if commit fails only all object modifications // made after the ceckpoint will be rollback tx.commit() </pseudo-code> HTH regards, Armin ----- Original Message ----- From: "Joerg Lensing" <[EMAIL PROTECTED]> To: "OJB Users List" <[EMAIL PROTECTED]> Sent: Saturday, June 21, 2003 3:55 PM Subject: intended behavior of transaction.checkpoint(); > Hi ng, > what is the intendets behavior of "transaction.checkpoint()"? > When and how is this mehtod to be used? > > > when i use it, the follwing stacktrace comes up: > > [org.apache.ojb.odmg.ObjectEnvelopeTable] ERROR: Commit on object level > failed for tx [EMAIL PROTECTED] > Calling method needed transaction, but no transaction found for current > thread :-( > org.odmg.TransactionNotInProgressException: Calling method needed > transaction, but no transaction found for current thread :-( > at > org.apache.ojb.odmg.LocalTxManager.getCurrentTransaction(LocalTxManager. java:46) > at > org.apache.ojb.odmg.locking.LockStrategyFactory.getIsolationLevel(LockSt rategyFactory.java:123) > at > org.apache.ojb.odmg.locking.LockStrategyFactory.getStrategyFor(LockStrat egyFactory.java:94) > at > org.apache.ojb.odmg.locking.LockManagerDefaultImpl.upgradeLock(LockManag erDefaultImpl.java:132) > at org.apache.ojb.odmg.TransactionImpl.lock(TransactionImpl.java:284) > at > org.apache.ojb.odmg.ObjectEnvelopeTable.upgradeImplicitLocksAndCheckIfCo mmitIsNeeded(ObjectEnvelopeTable.java:293) > at > org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeTable.java: 183) > at > org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(TransactionImpl.ja va:342) > at > org.apache.ojb.odmg.TransactionImpl.checkpoint(TransactionImpl.java:459) > at > de.softcon.webcontrol.integration.data.ojb.OjbDAOTransactionHandler.comm itProceedTransaction(OjbDAOTransactionHandler.java:72) > at > de.softcon.webcontrol.business.facade.EditPartnerManager.save(EditPartne rManager.java:123) > > ....... > > at > org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java: 1125) > at java.lang.Thread.run(Thread.java:536) > [org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] INFO: Rollback > was called, do rollback on current connection > [EMAIL PROTECTED] > org.odmg.TransactionNotInProgressException: Calling method needed > transaction, but no transaction found for current thread :-( > at > org.apache.ojb.odmg.LocalTxManager.getCurrentTransaction(LocalTxManager. java:46) > at > org.apache.ojb.odmg.locking.LockStrategyFactory.getIsolationLevel(LockSt rategyFactory.java:123) > at > org.apache.ojb.odmg.locking.LockStrategyFactory.getStrategyFor(LockStrat egyFactory.java:94) > at > org.apache.ojb.odmg.locking.LockManagerDefaultImpl.releaseLock(LockManag erDefaultImpl.java:143) > at > org.apache.ojb.odmg.TransactionImpl.removeLock(TransactionImpl.java:518) > at org.apache.ojb.odmg.TransactionImpl.doClose(TransactionImpl.java:402) > at > org.apache.ojb.odmg.TransactionImpl.checkpoint(TransactionImpl.java:469) > at > de.softcon.webcontrol.integration.data.ojb.OjbDAOTransactionHandler.comm itProceedTransaction(OjbDAOTransactionHandler.java:72) > at > de.softcon.webcontrol.business.facade.EditPartnerManager.save(EditPartne rManager.java:123) > at > de.softcon.webcontrol.business.delegate.EditPartnerDelegate.save(EditPar tnerDelegate.java:179) > ...... > ----------------- snip------------------ > > > > any tips? > > joerg > > > > > --------------------------------------------------------------------- > 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]