私はそれが好きな 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);
}
}));
これは、そのようなタスクを達成するための良い方法ですか? いいえの場合、その理由は? このアプローチの利点と欠点は何ですか?