【问题标题】:Sitebricks service interception?Sitebricks 服务拦截?
【发布时间】:2013-06-10 11:14:48
【问题描述】:

我正在使用我喜欢的 Sitebricks。但是,我想知道为横切任务拦截服务的最佳方法是什么?日志记录、验证、异常处理,都是像组件一样放在拦截器中的任务。 目前我正在像这样的服务上使用 AOP 来做这件事:

bindInterceptor(annotatedWith(Service.class), returns(only(Reply.class)), new HttpRequestFailureReportInterceptor(new MessageAcceptor() {
          @Override
          public void accept(String message) {
            Logger logger = LoggerFactory.getLogger(this.getClass());
            logger.debug(message);
          }
        }));

这是完成此类任务的好方法吗?如果不是,为什么?这种方法的优点和缺点是什么?

【问题讨论】:

    标签: java web-services sitebricks


    【解决方案1】:

    我们绝对鼓励您使用功能强大且功能齐全的 Guice AOP。 Sitebricks 的目标之一不是隐藏 Guice,而是强烈依赖它。

    规范的方法是对执行被跟踪的方法使用 @Traced 或 @Transactional 等注解。如果您使用 sitebricks-persist,后一个注解是免费的。

    丹吉。

    【讨论】:

    • 感谢您的评论,但是由于拦截器使用代理对象,这不是很慢吗?用户过滤器不是更好吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2012-11-04
    相关资源
    最近更新 更多