Java FacesContext.getCurrentInstance()在RevisionListener中返回null

Java FacesContext.getCurrentInstance()在RevisionListener中返回null,java,hibernate,hibernate-envers,Java,Hibernate,Hibernate Envers,我有一个基于jsf的web应用程序,使用hibernate实现持久性。我还使用Hibernate envers进行审核,因此我想实现一个自定义的RevisionListener,以便在修订信息中保存当前用户名。但是FacesContext.getCurrentInstance()返回null 在org.hibernate.envers.RevisionListener实现中获取用户名的最佳方法是什么 public class RevisionListener implements org.hib

我有一个基于jsf的web应用程序,使用hibernate实现持久性。我还使用Hibernate envers进行审核,因此我想实现一个自定义的RevisionListener,以便在修订信息中保存当前用户名。但是
FacesContext.getCurrentInstance()
返回null

org.hibernate.envers.RevisionListener
实现中获取用户名的最佳方法是什么

public class RevisionListener implements org.hibernate.envers.RevisionListener {

   @Override
   public void newRevision(Object object) {
      Revinfo revInfo = (Revinfo)object;

     revInfo.setUsername(getUserName());
   }

   private String getUserName() {
      //FacesContext.getCurrentInstance() throws Nullpointerexception
      Object request = FacesContext.getCurrentInstance().getExternalContext().getRequest();
      if (request instanceof HttpServletRequest) {
         return ((HttpServletRequest)request).getRemoteUser();
      }

      return null;
   }

}

您能给我们看一下您的代码吗?您的类似乎不是int Faces上下文作用域,您应该与web.xml文件集成。您有一个示例如何做到这一点?我不知道该怎么做。