我正在使用我喜欢的 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);
}
}));
这是完成此类任务的好方法吗?如果不是,为什么?这种方法的优点和缺点是什么?