[Seasar-user:18500] 【S2Config】環境設定に依存した設定情報の読み込みがうまくいかない

黒瀬健二 [E-MAIL ADDRESS DELETED]
2009年 9月 17日 (木) 13:40:18 JST


お世話になっております。黒瀬と申します。


S2Configを利用させて頂いています。
環境依存に対応した設定情報を扱いたかったので、マニュアルを
参照して動作確認を行ったのですが、うまく動作しない場合が
ありました。

コンフィグコンテナのみの利用で動作させると問題ないのですが
コンフィグクラスを定義すると、当該クラスのコンポーネント定義
から処理が返ってこなくなってしまいました。

関連ファイルの記述を下記に記します。
(S2Configの設定自体はマニュアル通りに行っております。)

■設定ファイル1:app.properties
  env=test
  sample1=hoge1
  sample2=hoge2

■設定ファイル2:app_test.properties
  sample1=hoge11111
  sample2=hoge22222

■コンフィグクラス:AppConfigクラスの定義

  @Config(name = "app")
  public class AppConfig {
	
    @ConfigKey(name = "sample1", readOnly = true)
    public String sample1;

    @ConfigKey(name = "sample2", readOnly = true)
    public String sample2;
  }

■メインプログラム
  public static void main(String[] args) {

    SingletonS2ContainerFactory.init();
    ConfigContainer config = SingletonS2Container
				.getComponent(ConfigContainer.class);
    System.out.println(config.getConfigValue(String.class, "sample1"));
 }

■上記メインプログラムを実行した場合のログ
2009-09-17 12:43:54,125 [main] DEBUG org.seasar.framework.env.Env -
環境変数#Envにファイル(env.txt)から値(ct)が設定されました
                                         <<<<<<<< 途中省略 >>>>>>>>
2009-09-17 12:43:54,781 [main] DEBUG
org.seasar.framework.container.util.S2ContainerUtil -
クラス(org.s2.config.test.config.AppConfig[appConfig])のコンポーネント定義を登録します
(ここから処理が返ってこなくなる)

※ちなみに、AppConfigクラスの定義をプロジェクトから削除してプログラムを
 実行すると、test環境の設定が適用され正常に「hoge11111」が表示されます。

実行環境については以下の通りです。
     JDK: 1.6.0_14
      S2: 2.4.38 (Smart Deploy)
S2Config: 1.0.1

ご確認して頂けると幸いです。


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