我喜欢与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,而是强烈依赖它。

规范方法是通过对执行跟踪的方法使用@Traced之类的注释或@Transactional等。如果使用sitebricks-persist,则后者是免费提供的。

丹吉

关于java - Sitebricks服务拦截?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17022599/

10-08 21:59