[Seasar-user:16726] Re: 【S2Struts】 HotDeployモードでIllegalArgumentExceptionが発生しています。

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 1月 22日 (木) 19:00:21 JST


小林 (koichik) です.

Date:    Thu, 22 Jan 2009 17:58:30 +0900
From:    minami <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16723] Re: 【S2Struts】 HotDeployモードでIllegalArgumentExceptionが発生しています。

> スタックをコピーしました。
> ===================================================================================
> スレッド [main] (中断中 (HotdeployBehavior の 97 行にブレークポイント))   
>     HotdeployBehavior.start() 行: 97   
>     AutoStrutsConfigRegisterPlugIn.init(ActionServlet, ModuleConfig) 行: 
> 86   

失礼しました,SAStruts 自身が初期化時に
HOT deploy を有効にしていたのですね.

static イニシャライザが 2 回動いているのは
気になりますが (毎回同じですか?),とりあえず
置いておいて (いいのか?),XX0101LoginUserInfoDto は
HotdeployClassLoader にロードされているようなので,
XX0101LoginAction の方が本来のクラスローダにロード
された XX0101LoginUserInfoDto を参照してしまって
いるのだと思われます.

XX0101LoginAction の static イニシャライザでも
クラスローダをログに出力するようにしてみてください.
同時に,フィールドの型のクラスローダも出力してみて
ください.

Field field = XX0101LoginAction.class.getField("loginUserInfoDto");
Class type = field.getType();
logger.debug(fieldType);
logger.debug(fieldType.getClass().getClassLoader());


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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