
Tengo un problema al invalidar una sesion de un arraylist
Publicado por Juan Diego (6 intervenciones) el 03/08/2015 12:00:51
Tengo un problema al invalidar una sesion de un arraylist. Al hacer login meto la Sesion en un arrayList.
En el objeto sesion hay String SesionId, String usuario, int nivel de acceso.
Cuando lo envio al frontcontroler ... y recogo con un if su accion...
Y el error que me da es
WARNING: StandardWrapperValve[frontControler]: PWC1406: Servlet.service() for servlet frontControler threw exception
java.util.ConcurrentModificationException
Soy algo nuevo la verdad en esto y es la primera vez que me sale este error y estoy parado.... no se que hacer.
Segun leo dice que estoy haciendo modificaciones mientras lo utilizo pero el array lo borro despues de usar el Iterator.
Muchas gracias a todos de antemano. Un saludito.
En el objeto sesion hay String SesionId, String usuario, int nivel de acceso.
Cuando lo envio al frontcontroler ... y recogo con un if su accion...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
if ("cerrarSesion".equals(request.getParameter("accion"))){
System.out.println("Pasa por cerrarSesion");
ArrayList<Sesion> sesiones = (ArrayList<Sesion>)request.getServletContext().getAttribute("sesiones");
Sesion se =
new Sesion(request.getSession().getId(), (String)(request.getSession().getAttribute("usuario")), (Integer)request.getSession().getAttribute("nivel"));
Iterator<Sesion> it = sesiones.iterator();
Sesion aBorrar = null;
while (it.hasNext()){
Sesion temp = it.next();
System.out.println("Aqui llega con temp " + temp);
System.out.println("Aqui llega con se " + se);
if (se.equals(temp)){
aBorrar = temp;
}
}
System.out.println("Esta sesion se va a Borrar" + aBorrar);
System.out.println(sesiones);
request.getSession().invalidate();
sesiones.remove(aBorrar);
response.sendRedirect("index.jsp");
return;
}
Y el error que me da es
WARNING: StandardWrapperValve[frontControler]: PWC1406: Servlet.service() for servlet frontControler threw exception
java.util.ConcurrentModificationException
Soy algo nuevo la verdad en esto y es la primera vez que me sale este error y estoy parado.... no se que hacer.
Segun leo dice que estoy haciendo modificaciones mientras lo utilizo pero el array lo borro despues de usar el Iterator.
Muchas gracias a todos de antemano. Un saludito.
Valora esta pregunta


0