[Seasar-user:11404] Re: [S2Struts]HOT Deploy時にPojoFormを親クラスにキャストしようとした場合にClassCastExceptionが発生

nobu [E-MAIL ADDRESS DELETED]
2007年 11月 2日 (金) 09:40:37 JST


近藤(nobu)です。

>中村さん

下記内容で試してみます。
ありがとうございました。

以上



Toshihiro Nakamura さんは書きました:
> 中村(taedium)です。
> 
>> 「FilterではなくS2のインターセプタ内で処理するようにしてもいいかもしれ
>> ません。」
>>
>> というのはどのような方法でしょうか?ドキュメントを見ているのですが、具体
>> 的な設定方法がわかりません。
>>
>> よろしければ設定例か、参考ドキュメントを教えて下さい。
> 
> 次のドキュメントが参考になると思います。
> http://s2container.seasar.org/2.4/ja/aop.html#OriginalInterceptor
> http://s2container.seasar.org/2.4/ja/DIContainer.html#SMARTdeploy
> 
> 
> 設定例は以下に示します。
> 
> まず、SMART deployで認識される
> interceptorパッケージにインターセプタのクラスを作成します。
> 名前はFooInterceptorのように「Interceptor」で終わるようにしてください。
> 任意の処理をこのインタセプター内で行ってください。
> 
>   public class FooInterceptor extends AbstractInterceptor {
>     public Object invoke(final MethodInvocation invocation) throws Throwable {
>       System.out.println("FOO");
>       return invocation.proceed();
>     }
>   }
> 
> インターセプタを作成したら、
> インターセプタを特定のコンポーネントに適用するために、
> customizer.diconを修正します。
> 例えば、Pageクラスに適用する場合は次のように記述します。
> interceptorNameプロパティには上記で定義したクラスの単純名の
> 先頭を小文字にしたものを指定します。
> 
>   <component name="pageCustomizer" 
>     class="org.seasar.framework.container.customizer.CustomizerChain">
>     <initMethod name="addCustomizer">
>       <arg>
>         <component class="org.seasar.framework.container.customizer.AspectCustomizer">
>           <property name="interceptorName">"fooInterceptor"</property>
>           <property name="pointcut">"do.*, initialize, prerender"</property>
>         </component>
>       </arg>
>     </initMethod>
>   </component>
> 
>> また、この現象の回避策は、現時点では「部分的にHot Deployを使用しない」
>> という結論になるということでよろしいでしょうか?
> 
> Filterで扱うようなコンポーネントをHot deploy対象から外すか、
> 上記のようにインターセプタで扱うかの2つの方法があるということに
> なると思います。




Seasar-user メーリングリストの案内