cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cris Daniluk" <cris.dani...@gmail.com>
Subject Re: ConcurrentModificationException ...
Date Mon, 24 Apr 2006 15:12:35 GMT
On 4/24/06, Arnaud GARCIA <arnaud.garcia@sim.hcuge.ch> wrote:
> Hello,
> I have a problem with multithreaded access with cayenne ...
> My  model is a simple one to many relationship (an Order can have many
> series)
>
> In my main thread I add new series to an Order :
>         order.addToSeries(aSerie);
>
> But in another thread I am doing an Iteration over the series which
> launch an exception:
>         List series = order.getSeries();
>         for (Iterator iter = series.iterator(); iter.hasNext();) {
>         ...
>         }

Cayenne is returning its internal reference to the collection. This is
easy to avoid by just wrapping the collection:

List series = new ArrayList(order.getSeries());

This is a good general habit to be in anyway... in single-theaded
apps, you'll still get the CME if you attempt to modify the collection
(through remove, etc)

Cris

Mime
View raw message