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

Junichi Kato [E-MAIL ADDRESS DELETED]
2009年 10月 8日 (木) 01:52:28 JST


黒瀬さん
加藤です。

お世話になります。

不具合を確認しました。
instanceがprototypeだとinitMethodが起動時に呼ばれない(getComponent時には呼ばれる)を忘れていました。
そこで、instanceがデフォルトのsingletonに戻しても使えるように内部ロジックを修正しました。

以下にスナップショット版を作成しましたので、ご確認いただけますでしょうか?

http://maven.seasar.org/maven2-snapshot/org/seasar/config/s2config-core/1.0.2-SNAPSHOT/s2config-core-1.0.2-SNAPSHOT.jar

http://maven.seasar.org/maven2-snapshot/org/seasar/config/s2config-example/1.0.2-SNAPSHOT/s2config-example-1.0.2-20091007.164727-1-sources.jar


2009年10月6日11:01 黒瀬健二 <[E-MAIL ADDRESS DELETED]>:
> 加藤さん
>
>
> 黒瀬です。お世話になります。
>
>>        <component class="org.seasar.config.core.container.impl.ConfigContainerImpl"
>> instance="prototype">
>>                <property name="configName">"log4j"</property>
>>                <initMethod name="loadToBeans"/>
>>        </component>
>
> ご指示いただいたように prototype を指定したところ現象が回避できることは
> 確認できたのですが、別の問題が発生しました。
>
> Log4JConfigTestクラスをJUnitで実行したところ、log4JConfig.category
> の値がnullと出力されてしまいました。
> (loadToBeansが実行されていない??)
>
> @Test
> public void test() {
>        assertNotNull(log4JConfig);
>        System.out.println(log4JConfig.category);
>        ↑nullと表示される。
> }
>
> ちなみに、log4j.propertiesのenv=testの記述をコメントアウトし
> config.diconのinstance="prototype"の記述を削除していた場合
> (要はs2config-exampleのデフォルトの記述の状態では)正常な値
>  (DEBUG, C) を出力していました。
>
> お忙しいところ申し訳ありませんが、再度ご確認頂けないでしょうか?
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
/**
 * name  : Junichi Kato
 * email : [E-MAIL ADDRESS DELETED]
 *
 * blog  : http://d.hatena.ne.jp/j5ik2o/
 *
 * commiting projects :
 * http://jiemamy.org/
 * http://s2chronos.sandbox.seasar.org/
 * http://s2config.sandbox.seasar.org/
 */


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