[Seasar-user:14569] [S2Container]Interceptorでリトライ
溝口
[E-MAIL ADDRESS DELETED]
2008年 6月 5日 (木) 08:58:22 JST
お世話になっています。溝口です。
interceotorを利用してリトライ処理を検討していますが、この際に、挟んでいる
インターセプターが使用されなくなります。下のインターセプターを
使用したテストでは、RetryInterceptorの次にtraceIntercaptorを使用しています。
invocation.proceed()を呼び出すたびにtraceInterceptorがログを出力するのを
想定していましたが、1度目のinvocation.proceed()の時にしかtraceが
出力されません。
インターセプター内でリトライする良い方法があればご教示ください。
下は検証用に作成したIntercaptorです。
import org.aopalliance.intercept.MethodInvocation;
import org.seasar.framework.aop.interceptors.AbstractInterceptor;
public class RetryInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L;
public Object invoke(MethodInvocation invocation) throws Throwable {
invocation.proceed();
invocation.proceed();
return null;
}
}
diconファイルはこんな感じで検証しました。
<component class="common.service.impl.SampleServiceImpl" >
<aspect >RetryInterceptor</aspect>
<aspect >aop.traceInterceptor</aspect>
</component>
よろしくお願いします。
Seasar-user メーリングリストの案内