* Here is my issue : - When I save the "Broker" object reference in a static variable and use that in multiple context I get Optimistic Lock exception. - If I do not save the Broker object reference : // pm = PersistenceManager.getInstance(); // return Broker.defaultPersistenceBroker() pm = PersistenceBrokerFactory.defaultPersistenceBroker(); I get this "Brrow broker from pool is failing" exception after some success write. I need to import a big data set into db table from a CSV file and I make this in a *big* loop. Please advise. ========================================= java.util.NoSuchElementException at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:758) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersistenceBroker(Unknown Source) at org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.defaultPersistenceBroker(Unknown Source) at org.apache.ojb.broker.PersistenceBrokerFactory.defaultPersistenceBroker(Unknown Source) at org.apache.ojb.broker.Identity.<init>(Unknown Source) at org.apache.ojb.broker.cache.ObjectCacheDefaultImpl.cache(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.store(Unknown Source) at org.apache.ojb.broker.util.sequence.SequenceGenerator.getNextSequence(Unknown Source) at org.apache.ojb.broker.util.sequence.SequenceManagerHiLoImpl.getUniqueId(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getUniqueId(Unknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getUniqueId(Unknown Source) at org.apache.ojb.broker.metadata.ClassDescriptor.getAutoIncrementValue(Unknown Source) at org.apache.ojb.broker.metadata.ClassDescriptor.getKeyValuesForObject(Unknown Source) at org.apache.ojb.broker.metadata.ClassDescriptor.getKeyValues(Unknown Source) at org.apache.ojb.broker.metadata.ClassDescriptor.getKeyValues(Unknown Source) at org.apache.ojb.broker.Identity.<init>(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.store(Unknown Source)
-----Original Message----- From: Ajitesh Das Sent: Wed 2/26/2003 1:20 AM To: OJB Users List; OJB Users List; OJB Users List Cc: Subject: RE: OptimisticLockException in PB Api I have checked org.apache.ojb.tutorial1.UCEnterNewProduct.apply() ... my main2() method is also same in nature..how come urs is woking and mine is not :( -----Original Message----- From: Ajitesh Das Sent: Wed 2/26/2003 1:14 AM To: OJB Users List; OJB Users List Cc: Subject: OptimisticLockException in PB Api I was trying a simple Test program. where I am setting a set of objects and what to write them in a DB.I am using PB Api. The very first write is a success but throwing exception from 2nd write onwards. What I am doing wrong ? org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else at Test1.main2(Test1.java:64) at Test1.<init>(Test1.java:23) at Test1.main(Test1.java:27) Caused by: org.apache.ojb.broker.OptimisticLockException: Object has been modified by someone else at org.apache.ojb.broker.accesslayer.JdbcAccess.executeUpdate(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.storeToDb(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.store(Unknown Source) at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.store(Unknown Source) Here is my caller method: public Test1 () { main2(); main2(); } And here is the called method public void main2 ( ) { PersistenceManager pm = null; Transaction tx = null; Sample zs = new Sample(); zs.setAttr1((long)10); zs.setAttr2(30); zs.setAttr3((long)40); try { pm = PersistenceManager.getInstance(); // return Broker.defaultPersistenceBroker() pm.beginTransaction(); pm.Store(zs); pm.commitTransaction(); } catch (Exception ex) { ex.printStackTrace(); System.out.println("Error in Test1 1 "); try { if ( tx != null ) pm.abortTransaction(); catch (Exception ex1) { } }