[Seasar-user:4109] Re: データソース設定をwarの外のプロパティファイルから読み込むには
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2006年 7月 18日 (火) 16:00:20 JST
小林 (koichik) です.
Date: Tue, 18 Jul 2006 15:03:20 +0900
From: Junichi Kato <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:4108] データソース設定をwarの外のプロパティファイルから読み込むには
> 実現方法として考えたのは、このプロパティファイルを読み込むことができる
> クラスをj2ee.dicon上に登録して利用することです。
> しかし、以下のgetBundle時にMissingResourceExceptionが発生してしまいます。
(略)
> org.seasar.framework.exception.InvocationTargetRuntimeException:
> [ESSR0043]config.ApplicationConfigManagerが呼び出した対象が不正です。
> 理由はjava.util.MissingResourceException: Can't find bundle for base
> name userConfig, locale ja_JP
これを見る限り,config.ApplicationConfigManager クラスが
userConfig.properties を見つけることができていないように
見えます.
もし java.util.ResourceBundle を使用しているなら,それは
クラスローダからリソースを見つけようとするのですが,
クラスローダを明示的に指定しない場合は呼び出し側の
クラスローダが使われることになります.
そのため,${catalina_home}/conf/ が Web アプリケーションの
クラスローダから参照できる (クラスパスに含まれている) ように
なっていない限り,その下にあるファイルを見つけることは
できませんが,おそらくそうなっていないのだと思います.
Tomcat で,Web アプリケーションのクラスローダがリソースを
参照できる場所としては,以下があります.
${catalina_home}/share/classes
${catalina_home}/common/classes
userConfig.properties を上のどちらか (share の方が適切だと
思われます) に配置してみてはいかがでしょうか?
--
<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 メーリングリストの案内