[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 メーリングリストの案内