首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接缝拦截器

接缝拦截器
EN

Stack Overflow用户
提问于 2009-10-05 18:12:44
回答 2查看 1.9K关注 0票数 1

我想截获对所有seam组件的所有方法调用,看看这是否有助于记录异常。我在想,我可以通过获取所有组件和已注册拦截器的列表并简单地将我想要的拦截器添加到该列表中来做到这一点。

沃尔特

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-05 18:52:50

尝试以更高的优先级使用您自己的ExceptionFilter覆盖默认Try。

代码语言:javascript
复制
@Name("org.jboss.seam.web.exceptionFilter")
@Install(precedence = MOCK, classDependencies="javax.faces.context.FacesContext")
@BypassInterceptors
@Filter(within="org.jboss.seam.web.ajax4jsfFilter")
public class ExceptionFilter extends org.jboss.seam.web.ExceptionFilter

  @Override
  protected endWebRequestAfterException(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Exception e)  {
  // here you log exceptions
  }
}
票数 0
EN

Stack Overflow用户

发布于 2010-02-11 02:44:06

最好使用Seam的异常处理程序。你可以这样做:

代码语言:javascript
复制
@Name("org.jboss.seam.exception.exceptions")
@Scope(ScopeType.APPLICATION)
@Install(precedence = Install.APPLICATION)
@BypassInterceptors
public class ExceptionHandler extends org.jboss.seam.exception.Exceptions {

    public void handle(Exception e) throws Exception {
            //Log your exception here if you want 
            Events.instance().raiseAsynchronousEvent("SomeListener",e.getMessage());
    super.handle(e);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1521573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档