[Seasar-user:20750] Re: TomcatからのUndeploy時にエラーが発生

higayasuo [E-MAIL ADDRESS DELETED]
2011年 5月 13日 (金) 12:20:25 JST


ひがです。
> 確認してみましたが、s2-frameworkはtomcat/libに配置しておりませんでした。
> 各アプリケーションのWEB-INF/lib以下に配置しております。
>
> ただ、JDBCドライバ自信(mysql-connectorを利用)は、Tomcat/lib以下に配置
> しております。
> 試しにこのTomcat/lib以下のmysql-connectorをアプリケーションのWEB-INF/lib
> に配置した所、JDBCドライバのクラスローダがWebappClassLoaderになった事を
> 確認しました。
> ただ、配置されているアプリケーションによっては、JDBC Realmを利用したい
> 状況があり、mysql-connectorはTomcat/lib以下に配置せざるを得ない状況です。

mysql-connectorはTomcat/libだけでなくWEB-INF/libにもおいて試してもらえますか?
設定でWEB-INF/libの方を優先的に見るかどうかを選べるならWEB-INF/libを
優先的にみるような設定にしてください。

> この状況ですと、Tomcatがmysql-connectorをロードするタイミングによっては、
> Seasar2が抱えるmysql-connectorのクラスローダがStandardClassLoaderになって
> しまう可能性が出てくるという認識です。
> ※試しに実験してみたところ、JDBC Realm認証後Seasar2でJDBC接続を行うと、
>  Seasar2が利用しているmysql-connectorのクラスローダはStandardClassLoader
>  になってしまうようでした。
>
> また、上記状況の認識が正しいかわからない中ではありますが、上記実験の中で、
> 複数のSeasar2を利用したアプリケーション(mysql-connectorを各アプリケーションの
> WEB-INF/libに移動済でWebappClassLoaderによってロードされている)が乗った
> Tomcat上で、任意のSeasar2アプリケーションをアンロードすると、すべてのSeasar2を
> 利用しているアプリケーションが参照しているmysql-connectorがderegister
> されているようでした。
> ※このとき、StandardClassLoaderがロードしているmysql-connectorはderegister
>  されていませんでした
> ※これについては軽く試しただけなので、確実ではないかもしれません。
>
>
> 上記のような結果及び認識をもっておりますが、いかがでしょうか。
>
> ---
> Satoshi Watanabe
> [E-MAIL ADDRESS DELETED]
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



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