Hi,

first, it seems that you mix the JDO-api with the PB-api in your code
PersistenceManager --> JDO
PersistenceBroker (PB), PersistenceBrokerFactory (PBF)--> PB-api
maybe a typo.

> I get this "Brrow broker from pool is failing" exception after some
success write.
Think you forget to call the close method of the PB after use.
PB.close() returns
the broker to broker pool managed by PBF.

regards,
Armin



----- Original Message -----
From: "Ajitesh Das" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>; "OJB Users List"
<[EMAIL PROTECTED]>; "OJB Users List" <[EMAIL PROTECTED]>;
"OJB Users List" <[EMAIL PROTECTED]>
Sent: Wednesday, February 26, 2003 10:45 AM
Subject: Brrow broker from pool is failing : OptimisticLockException in
PB Api


> * 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(Generic
KeyedObjectPool.java:758)
>  at
org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.createPersi
stenceBroker(Unknown Source)
>  at
org.apache.ojb.broker.ta.PersistenceBrokerFactoryDefaultImpl.defaultPers
istenceBroker(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(Un
known 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(U
nknown Source)
>  at
org.apache.ojb.broker.metadata.ClassDescriptor.getAutoIncrementValue(Unk
nown Source)
>  at
org.apache.ojb.broker.metadata.ClassDescriptor.getKeyValuesForObject(Unk
nown 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) {
>              }
>          }
>
>
>
>
>
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to