* 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) {
                     }
                 }
                  
               
               
               
        
        

Reply via email to