DelegateInterceptor
DelegateInterceptor を使えば,メソッドの呼び出しを別のコンポーネントに委譲できる.
なるほど,基本的には別のコンポーネントに委譲して,実装を追加・変更したいメソッドだけ実装すればいいのだな...と思っていたのだが,どうもうまくいかない.
メソッドを実装しても,別コンポーネントに委譲されてしまう.
そこでソースを見てみると...
if (beanDesc_.hasMethod(methodName)) { return beanDesc_.invoke(target_, methodName, invocation.getArguments()); } else if (!MethodUtil.isAbstract(method)) { return invocation.proceed(); } else { throw new MethodNotFoundRuntimeException(getTargetClass(invocation), methodName, invocation.getArguments()); }
これは仕様なのか?
逆の方がしっくりくるのだが...