Excuse, as I have read one mail after yours, I don't fixed in the fact that you are using ODMG. I've sen't my sample based on PB Api.
I've tried ODMG before, but was to poor (or I don't know how to manage things with it) for my applications... Well, I'll research some (if I get some time to do it). Perhaps, someone else should had this problem with ODMG... Best regards, Edson Richter Em Ter, 2003-07-15 �s 13:24, Dave Hodson escreveu: > I'm using the ODMG transactional handler. My understanding is that the PB API is > called internally so I have no explicit PB calls in my Put method > > Is my understanding of ODMG correct? (I'm basing this on Tutorial #2) > > Dave > > > > > -----Original Message----- > > From: Edson Carlos Ericksson Richter > > [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, July 15, 2003 6:13 AM > > To: OJB Users List > > Subject: RE: ConnectionManager is already in transaction > > > > > > I had this problem in the past, and what I had to do is change my code > > to something like (this is a delete sample): > > > > PersistenceBroker broker = null; > > > > try { > > broker=PersistenceBrokerFactory.defaultPersistenceBroker( ); > > > > // Just a sanity check. > > // I've never reached here inside > > // a existing transaction!!! > > if( !broker.isInTransaction( ) ) { > > broker.beginTransaction( ); > > } > > > > broker.delete( o ); > > broker.commitTransaction( ); > > } catch( PersistenceBrokerException e ) { > > try { > > broker.abortTransaction( ); > > } catch( Exception e1 ) {} > > throw e1; //just rethrow the exception forward > > } finally { > > try { > > // I don't wan't to catch this... > > // If something important happens, > > // it'll be in log... > > broker.close( ); > > } catch( Exception e2 ) {} > > } > > > > > > This way worked for me in SapDB and MS SQL Server 2K... > > > > Best regards, > > > > Edson Richter > > > > > > Em Ter, 2003-07-15 �s 12:58, Dave Hodson escreveu: > > > I'm using SQL Server 2k, with the MSFT drivers > > > Can you post a few snippets of your code? > > > > > > Thx > > > > > > Dave > > > > > > > > > > > > > -----Original Message----- > > > > From: Ryan Vanderwerf [mailto:[EMAIL PROTECTED] > > > > Sent: Tuesday, July 15, 2003 8:32 AM > > > > To: OJB Users List > > > > Subject: RE: ConnectionManager is already in transaction > > > > > > > > > > > > I've had the same problems with the PB api too. What DB > > Are you using? > > > > The best way for me to get around it was to make wrapper > > methods that > > > > get and close broker connections, and to check the > > transaction state > > > > before trying to begin, commit, and abort a transaction. > > I'm using SQL > > > > Server 2k and the Inet Opta driver. > > > > > > > > -----Original Message----- > > > > From: Dave Hodson [mailto:[EMAIL PROTECTED] > > > > Sent: Monday, July 14, 2003 7:47 PM > > > > To: [EMAIL PROTECTED] > > > > Subject: ConnectionManager is already in transaction > > > > > > > > > > > > I'm using 1.0RC3 and running into the following error: > > > > "ConnectionManager is already in transaction" > > > > when trying to commit a new transaction to the DB. > > > > > > > > Any queries by criteria or identity work properly. > > > > The method is a member of a class that is extended by others > > > > -- items to > > > > be written to the DB are passed as generic objects. > > > > > > > > Suggestions? What am I doing incorrectly? > > > > > > > > Dave > > > > > > > > > > > > Code is as follows: > > > > --------------------- > > > > protected void Put (Object o, Class c) { > > > > Transaction tx = odmg.newTransaction(); > > > > tx.begin(); > > > > try { > > > > // lock the product for write access > > > > tx.lock(o, tx.WRITE); > > > > tx.commit(); > > > > } catch (Throwable t) { > > > > tx.abort(); > > > > log.error("Put failed for " + c.getName() + " : " + t); > > > > } > > > > } > > > > > > > > Stack is as follows: > > > > ------------------------ > > > > [org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: > > > > PersistenceBrokerException during the execution of the insert: > > > > ConnectionManager is already in transaction ConnectionManager > > > > is already > > > > in transaction > > org.apache.ojb.broker.TransactionInProgressException: > > > > ConnectionManager is already in transaction > > > > at > > > > org.apache.ojb.broker.core.PersistenceBrokerImpl.beginTransact > > > > ion(Persis > > > > tenceBrokerImpl.java:361) > > > > at > > > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.beginTr > > > > ansaction( > > > > DelegatingPersistenceBroker.java:114) > > > > at > > > > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl > > > > .getSequen > > > > ce(SequenceManagerHighLowImpl.java:260) > > > > at > > > > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl > > > > .getUnique > > > > Long(SequenceManagerHighLowImpl.java:201) > > > > at > > > > org.apache.ojb.broker.util.sequence.AbstractSequenceManager.ge > > > > tUniqueId( > > > > AbstractSequenceManager.java:252) > > > > at > > > > org.apache.ojb.broker.util.sequence.AbstractSequenceManager.ge > > > > tUniqueVal > > > > ue(AbstractSequenceManager.java:167) > > > > at > > > > org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue( > > > > BrokerHelp > > > > er.java:303) > > > > at > > > > org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(Bro > > > > kerHelper. > > > > java:349) > > > > at > > > > org.apache.ojb.broker.util.BrokerHelper.getAllRwValues(BrokerH > > > > elper.java > > > > :380) > > > > at > > > > org.apache.ojb.broker.accesslayer.StatementManager.getAllValue > > > > s(Statemen > > > > tManager.java:725) > > > > at > > > > org.apache.ojb.broker.accesslayer.StatementManager.bindInsert( > > > > StatementM > > > > anager.java:487) > > > > at > > > > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert > > > > (JdbcAcces > > > > sImpl.java:198) > > > > at > > > > org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(Per > > > > sistenceBr > > > > okerImpl.java:1919) > > > > at > > > > org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Persist > > > > enceBroker > > > > Impl.java:1834) > > > > at > > > > org.apache.ojb.broker.core.PersistenceBrokerImpl.store(Persist > > > > enceBroker > > > > Impl.java:1792) > > > > at > > > > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(D > > > > elegatingP > > > > ersistenceBroker.java:161) > > > > at > > > > org.apache.ojb.odmg.states.StateNewDirty.commit(StateNewDirty. > > > > java:148) > > > > at > > > > org.apache.ojb.odmg.ObjectEnvelopeTable.commitAllEnvelopes(Obj > > > > ectEnvelop > > > > eTable.java:234) > > > > at > > > > org.apache.ojb.odmg.ObjectEnvelopeTable.commit(ObjectEnvelopeT > > > > able.java: > > > > 189) > > > > at > > > > org.apache.ojb.odmg.TransactionImpl.doCommitOnObjects(Transact > > > > ionImpl.ja > > > > va:342) > > > > at > > > > > > org.apache.ojb.odmg.TransactionImpl.prepare(TransactionImpl.java:595) > > > > at > > > > > > org.apache.ojb.odmg.TransactionImpl.commit(TransactionImpl.java:545) > > > > at net.messagecast.rec.RecOJBMgr.Put(RecOJBMgr.java:83) > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > 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] > > > > > > --------------------------------------------------------------------- > 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]
