Cruce de sesiones, servidor Jboss

Hola a todos.
Tengo una aplicación web, construida con struts. Tengo una clase de modelo de sesion, cuando entro a la aplicación pregunta
ModSesion Sesion = null;
if (req.getSession().getAttribute("Sesion") != null) {
Sesion = (ModSesion) req.getSession().getAttribute("Sesion");
} else {
Sesion = new ModSesion();
}
req.getSession().setAttribute("Sesion", Sesion);
}

Si es nula le asigna una clase de sesion. Dentro de esa clase hay un campo que es un boolean que si es verdadero manda a la página de inicio si no manda al login.

El problema que tengo es que a veces (porque no es siempre) está logeado un usuario y le aparece la sesion de otro.
Mi pregunta ¿por qué el servidor le está asignado a un usuario la sesion de otro?.
De antemano gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

setAttribute

No sé si tenga algo que ver pero yo pondría el req.getSession().setAttribute("Sesion",Sesion) dentro del else, para que no lo estés reasignando en cada interacción con el servidor sino solamente se guarde cuando se crea.

El problema que describes muy probablemente se deba a que tienes un servlet que está guardando estado y obviamente se bate cuando hay varias peticiones de distintas sesiones.

Gracias por la respuesta, se

Gracias por la respuesta, se que el scope Application funciona para la aplicación, pero no lo estoy usando. Y tengo entendido que para guardar estados hay que usar EJB y no los estoy usando. ¿ o hay otra forma de guardar estados?.
¿Qué significa se bate?.