Oops.
Thanks Charles.

----- Original Message ----- 
From: "Charles Anthony" <[EMAIL PROTECTED]>
To: "'OJB Users List'" <[EMAIL PROTECTED]>
Sent: Thursday, October 09, 2003 12:52 PM
Subject: RE: ConcurrentModificationException


> Hi,
>
> You need to ensure that you are closing the broker.
>
> public void  onEvent(){
>   PersistenceBroker pb =
> PersistenceBrokerFactory.defaultPersistenceBroker();
>   pb.store(this); // or whatever it is you want to do with the broker
>   pb.close();
> }
>
>
> You should only get brokers when you need them, and close them when you've
> finished with them.
>
> HTH,
>
> Charles.
>
> > -----Original Message-----
> > From: Michael Watson [mailto:[EMAIL PROTECTED]
> > Sent: 09 October 2003 12:53
> > To: OJB Users List; [EMAIL PROTECTED]
> > Subject: Re: ConcurrentModificationException
> >
> >
> > Hi Armin,
> > I have an object with an init method where I assign a
> > PersistenceBroker
> > instance using
> >
> > PersistenceBrokerFactory.defaultPersistenceBroker()
> >
> > This object then has an onEvent() method that is called and uses
> > broker.store().
> >
> > I tried modifying the object so that the broker is obtained
> > in the onEvent
> > instead of the init and I started getting
> > "Borrow broker from pool failed" Exceptions. I have my
> > connection-pool set
> > up as follows:
> >
> > <connection-pool maxActive="-1" whenExhaustedAction="2"
> > validationQuery="select 1 from t_client"/>
> >
> > Do you have any suggestions for what I might be doing wrong?
> >
> > Mike
> >
> > ----- Original Message ----- 
> > From: "Armin Waibel" <[EMAIL PROTECTED]>
> > To: "OJB Users List" <[EMAIL PROTECTED]>
> > Sent: Wednesday, October 08, 2003 6:02 PM
> > Subject: Re: ConcurrentModificationException
> >
> >
> > > Hi Michael,
> > >
> > > On Wed, 8 Oct 2003 17:31:15 +0100, Michael Watson
> > > <[EMAIL PROTECTED]> wrote:
> > >
> > > > Hi all,
> > > >
> > > > I'm finding I quite reguarly get this exception when I'm
> > attempting to
> > > > call
> > > > PersistenceBroker.store(Object) from multiple threads
> > simultaneously.
> > > >
> > > Do several threads share the same PB instance?
> > > If so, this is not allowed. PB instances are not
> > > threadsafe itself, but they are pooled so it's no
> > > performance impact to use a separate PB instance for each thread.
> > >
> > > regards,
> > > Armin
> > >
> > > > <?xml version='1.0'?>
> > > > <exception>
> > > > <cause>
> > > > <detailMessage/>
> > > >
> > <exceptionClass>java.util.ConcurrentModificationException</exc
> > eptionClass>
> > > > <stackTrace>
> > > >
> > <stackTrace>java.util.AbstractList$Itr.checkForComodification(
> > AbstractList.j
> > > > ava:444)</stackTrace>
> > > >
> > <stackTrace>java.util.AbstractList$Itr.next(AbstractList.java:
> > 417)</stackTra
> > > > ce>
> > > >
> > <stackTrace>java.util.AbstractCollection.remove(AbstractCollec
> > tion.java:250)
> > > > </stackTrace>
> > > >
> > <stackTrace>org.apache.ojb.broker.core.PersistenceBrokerImpl.s
> > tore(Unknown
> > > > Source)</stackTrace>
> > > >
> > <stackTrace>org.apache.ojb.broker.core.PersistenceBrokerImpl.s
> > tore(Unknown
> > > > Source)</stackTrace>
> > > >
> > <stackTrace>org.apache.ojb.broker.core.DelegatingPersistenceBr
> > oker.store(Unk
> > > > nown Source)</stackTrace>
> > > > ...
> > > > </stackTrace>
> > > > </cause>
> > > > <detailMessage>Failed to update History record
> > > > java.util.ConcurrentModificationException</detailMessage>
> > > >
> > <exceptionClass>org.apache.ojb.broker.PersistenceBrokerExcepti
> > on</exceptionC
> > > > lass>
> > > > <stackTrace/>
> > > > </exception>
> > > >
> > > > Obviously somewhere in the broker there's been an attempt
> > to modify the
> > > > structure of a list by 2 or more threads simultaneously.
> > > >
> > > > My question is, has anything been done to prevent this in a newer
> > > > version or
> > > > should I just catch these exceptions and retry the store?
> > > >
> > > > I'm using ojb-1.0.rc3 at the moment.
> > > >
> > > > Regards,
> > > >
> > > > Mike
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > 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]
> >
> >
>
>
> This email and any attachments are strictly confidential and are intended
> solely for the addressee. If you are not the intended recipient you must
> not disclose, forward, copy or take any action in reliance on this message
> or its attachments. If you have received this email in error please notify
> the sender as soon as possible and delete it from your computer systems.
> Any views or opinions presented are solely those of the author and do not
> necessarily reflect those of HPD Software Limited or its affiliates.
>
>  At present the integrity of email across the internet cannot be
guaranteed
> and messages sent via this medium are potentially at risk.  All liability
> is excluded to the extent permitted by law for any claims arising as a re-
> sult of the use of this medium to transmit information by or to
> HPD Software Limited or its affiliates.
>
>
>
> ---------------------------------------------------------------------
> 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]

Reply via email to