Ola,
Na minha Action estou implementando a interface Preparable para poder toda vez q a action for chamada, o WW pegar o usuario que esta na session e busca-lo no BD novamente para abrir uma nova Session do Hibernate.
Abaixo o codigo:
public class UsuarioAction extends ActionSupport implements Preparable {
UsuarioManager manager;
Usuario usuario;
public void prepare() throws Exception
{
usuario=(Usuario)
ActionContext.getContext().getSession().get("usuario");
// Vai no BD novamente para abrir uma nova session do hibernate
usuario= manager.getUsuario(usuario.getId());
}
...
}
O problema eh q apos chamar algumas vezes a action, o usuario retornado do map vem NULL. Eu fiz minha classe usuario implementar a interface HttpSessionAttributeListener para verificar se o metodo attributeRemoved() era chamado em algum momento.
O metodo nunca eh chamado, portanto acho q o WW deve as vezes criar novas instancias dos Maps do ActionContext.
Alguem ja passou por essa situacao?