服务器JBOSS会话过期时更新数据库
我正在使用Java、hibernate、SEAM和Richfaces 我在数据库中保存了一个寄存器,指示用户正在登录,现在我需要在服务器会话过期时保存在数据库中。 我实现了一个实现HttpSessionListener的类。我在方法sessionDestroyed中加入了如下内容:服务器JBOSS会话过期时更新数据库,jboss,richfaces,seam,Jboss,Richfaces,Seam,我正在使用Java、hibernate、SEAM和Richfaces 我在数据库中保存了一个寄存器,指示用户正在登录,现在我需要在服务器会话过期时保存在数据库中。 我实现了一个实现HttpSessionListener的类。我在方法sessionDestroyed中加入了如下内容: ... historia.setFechafinal(new Date()); historia.setGlosa("test"); historia.
...
historia.setFechafinal(new Date());
historia.setGlosa("test");
historia.setTiempo("tiempo");
entityManager.persist(historia);
...
当我想将对象持久化时,就会抛出一个错误。这应该是因为组件entityManager不存在,因为会话已过期
会话过期后如何写入数据库?我是这门学科的新手
谢谢您可以尝试使用Seam的跑步方式功能。我们将它用于在没有登录用户的情况下在后台运行的一些计划进程
您可以为此使用观察者,只要http会话被破坏,就会触发该方法
@In User user; //User stored in session scope
@Observer("org.jboss.seam.preDestroyContext.SESSION")
public void userSessionDestroy(){
//do something with User here
}