On 4/24/06, Arnaud GARCIA <[EMAIL PROTECTED]> 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

Reply via email to