AFAIK that's a result of the way tomcat 4.x implements the internal 
storage of the parameters. I think you can't remove a parameter inside
a loop whitch getParameterNames(). One way around that, is to collect 
first the names and than remove the parameters.

> -----Urspr�ngliche Nachricht-----
> Von: Eelco den Heijer [mailto:[EMAIL PROTECTED]]
> Gesendet: Dienstag, 19. Februar 2002 17:00
> An: Tomcat Users List
> Betreff: Re: ConcurrentModificationException error
> 
> 
> Kent Kurima wrote:
> > 
> > When I try to remove some information from the session I get a
> > ConcurrentModificationException error.
> > 
> > tomcat 3.X did not have this problem, but tomcat 4.X is 
> complaining about
> > this.
> > 
> > here is a section of code that is having the problem
> > 
> > java.util.Enumeration sessionNames = session.getAttributeNames();
> > while(sessionNames.hasMoreElements()){
> >         String lstrSessionName = (String)sessionNames.nextElement();
> >         if (!lvecTempVar.contains(lstrSessionName)) {
> >                 session.removeAttribute(lstrSessionName);
> >         }
> 
> Hi Kent,
> 
> Probably, another servlet instance is accessing that attr. of the 
> session; you have to synchronize access to it:
> 
> while(sessionNames.hasMoreElements()){
>         String lstrSessionName = (String)sessionNames.nextElement();
>         if (!lvecTempVar.contains(lstrSessionName)) {
>               synchronized (session) {
>                       session.removeAttribute(lstrSessionName);
>               }
>         }
> 
> --
> To unsubscribe:   <mailto:[EMAIL PROTECTED]>
> For additional commands: <mailto:[EMAIL PROTECTED]>
> Troubles with the list: <mailto:[EMAIL PROTECTED]>
> 
> 
> 

--
To unsubscribe:   <mailto:[EMAIL PROTECTED]>
For additional commands: <mailto:[EMAIL PROTECTED]>
Troubles with the list: <mailto:[EMAIL PROTECTED]>

Reply via email to