Sitebricks服务拦截



我正在使用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);
          }
        }));

这是完成那样的任务的好方法吗?如果没有,为什么?这种方法的优点和缺点是什么?

我们强烈建议您使用Guice AOP,它非常健壮且功能齐全。Sitebricks的目标之一不是隐藏Guice,而是强烈依赖Guice。

规范的方法是通过使用注释,如@ trace或@Transactional等来跟踪执行的方法。如果您使用sitebricks-persist,则后者的注释是免费的。

Dhanji .

最新更新