我喜欢与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/