[Seasar-user:8501] Re: Teeda(Page)クラスにAOP適用時の[ETDA0029]エラー
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 6月 20日 (水) 17:09:25 JST
米林です。
----- Original Message -----
From: "Mori, Hironori (GNF, Non-GNF)" <[E-MAIL ADDRESS DELETED]>
Sent: Wednesday, June 20, 2007 5:00 PM
> お世話になります。森と申します。
> 初心者ですがよろしくお願いします。
>
> こちらの記事
> http://d.hatena.ne.jp/yone098/20070123/1169550599
> を参考に、TeedaのPageクラスにAOPを適用させようとしてるのですが、
> ページ呼び出し時に下記のようなエラーになってしまうのですが、原因分かりますでしょうか。
TestInterceptorは呼び出されていますか?
Pageクラスのinitializeとprerenderメソッド内を
空っぽにしてみて、エラーが発生するか試してもらえますか?
またInterceptorをはずすとエラーが発生しないのでしょうか?
よろしくお願いします。
> -------------------------------------------------
> org.seasar.teeda.core.exception.AlreadyRedirectingException: [ETDA0029]既にリダイレクトされています。
> org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl.handleException(TeedaExtensionErrorPageManagerImpl.java:76)
> org.seasar.teeda.core.lifecycle.LifecycleImpl.handleException(LifecycleImpl.java:113)
> org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:105)
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:92)
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
> ----------------------------------------------------------------------------------------
> インターセプタ
> package test01;
> import org.seasar.framework.aop.interceptors.AbstractInterceptor;
> import org.aopalliance.intercept.MethodInvocation;
> public class TestInterceptor extends AbstractInterceptor {
> private static final long serialVersionUID = 1L;
> public Object invoke(MethodInvocation invocation) throws Throwable {
> System.out.println("### BEGIN TestInterceptor ###");
> Object ret = invocation.proceed();
> System.out.println("### E N D TestInterceptor ###");
> return ret;
> }
> }
> ----------------------------------------------------
> customizer.dicon
> <!-- add↓-->
> <component name="testAop" class="test01.TestInterceptor" />
> <component name="testCustomizer"
> class="org.seasar.framework.container.customizer.AspectCustomizer">
> <initMethod name="addInterceptorName">
> <arg>"testAop"</arg>
> </initMethod>
> <property name="pointcut">"prerender"</property>
> </component>
> <!-- add↑-->
>
> <component name="pageCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
> <initMethod name="addCustomizer">
> <arg>traceCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>
> <component
> class="org.seasar.framework.container.customizer.AspectCustomizer">
> <initMethod name="addInterceptorName">
> <arg>"app_aop.appFacesExceptionThrowsInterceptor"</arg>
> </initMethod>
> <property name="pointcut">"do.*, initialize,
> prerender"</property>
> </component>
> </arg>
> </initMethod>
> <!-- add↓-->
> <initMethod name="addCustomizer">
> <arg>testCustomizer</arg>
> </initMethod>
> <!-- add↑-->
> </component>
>
> ご教授の程、よろしくお願いいたします。
---
米林 正明
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内