[Seasar-user:8360] Re: CoolDeploy時のみ、Tomcat起動時にエラーが発生する

Taro Unno [E-MAIL ADDRESS DELETED]
2007年 6月 15日 (金) 13:17:45 JST


大谷さん

ご指摘のように変更することで、解決いたしました。
ありがとうございました。

海野



07/06/15 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 大谷です。
>
> Hotと違って、CoolではCoolComponentAutoRegisterで
> 初期化時に一括で登録されるため、その時点で
> SelectOneUtil.initSelectOneOptions()が動いているようです。
> そのためまだFacesContextは無いのでエラーになっているのでは
> ないでしょうか。
>
> SELECT_ONE_OPTIONSをpublicな変数とするのではなく、
> getSelectOneOptions()とかにして、初期化されてなければ
> initSelectOneOptions()するようにしてみてください。
>
>
> 07/06/15 に Taro Unno<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 大谷さん
> >
> > いつもお世話になっております。
> >
> > > ・設定がまずい可能性(クリーンビルドが必要)
> >
> > クリーンビルドは試しましたが状況は変わりませんでした。
> >
> >
> > > ・FacesContextがいない状況下で呼び出している可能性
> >
> > 内容をご説明します。
> >
> > 複数のサブアプリケーションで使用するプルダウンの中身を
> > Utilクラスに下記のように持たせています。
> > これを利用するPageクラスは
> >
> > 1.AbstractBasePage・・・全てのページクラスの親
> > ↑継承
> > 2.AbstractサブアプリケーションBasePage
> > ↑継承
> > 3.サブアプリケーションPage
> >
> > という構成にしています。
> > 上記2のクラスから、
> > SelectOneUtil.SELECT_ONE_OPTIONS
> > を呼び出しています。
> > このUtilクラスは、Pageクラスからのみ使用しています。
> >
> > CoolDeployの場合のみ、FacesContextがない段階で
> > SelectOneUtilクラスが初期化されているかもしれないということでしょうか。
> >
> > まだ不足の情報がありましたら、お手数おかけしますが、
> > ご指摘ください。
> >
> > <Utilクラスここから>-----------------------------------------------------------------
> > package ルートパッケージ.util;
> >
> > import java.util.ArrayList;
> > import java.util.Collections;
> > import java.util.HashMap;
> > import java.util.List;
> > import java.util.Map;
> >
> > public class SelectOneUtil {
> >
> >         public static final List SELECT_ONE_OPTIONS;
> >
> >         static{
> >                 SELECT_ONE_OPTIONS = initSelectOneOptions();
> >         }
> >
> >         private SelectOneUtil(){
> >         }
> >
> >         private static List initSelectOneOptions(){
> >
> >                 List<Map> list = new ArrayList<Map>();
> >                 Map<String, String> m1 = new HashMap<String, String>();
> >                 m1.put("label", LabelUtil.getLabelValue("option1"));
> >                 m1.put("value", "1");
> >                 list.add(m1);
> >                 Map<String, String> m2 = new HashMap<String, String>();
> >                 m2.put("label", LabelUtil.getLabelValue("option2"));
> >                 m2.put("value", "2");
> >                 list.add(m2);
> >                 return Collections.unmodifiableList(list);
> >         }
> > }
> > <Utilクラスここまで>-----------------------------------------------------------------
> >
> > 以上、宜しくお願い致します。
> > 海野
> >
> >
> >
> >
> > 07/06/15 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 大谷です。
> > >
> > > これだけではあまり的確にはいえませんが、
> > > ・設定がまずい可能性(クリーンビルドが必要)
> > > ・FacesContextがいない状況下で呼び出している可能性
> > > (FacesContextが作成される前(例えばFilterやListenerなど)では
> > > 当然LabelUtilも使えません。)
> > >
> > > Utilクラスの中身と、そのUtilクラスが使われる状況を
> > > もう少し教えてください。
> > > 宜しくお願いします。
> > >
> > > 07/06/15 に Taro Unno<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > > 海野です。
> > > > お世話になっております。
> > > >
> > > > Teeda1.0.7で作成したChuraProjectのアプリケーションが、
> > > > HotDeployとWarmDeployでは問題ないのに
> > > > CoolDeployではTomcat起動時にエラーが発生する
> > > > という現象に出くわしております。
> > > >
> > > > ルートパッケージ.util.xxxUtilクラスのstaticメソッドの中から、
> > > > javax.faces.internal.LabelUtil#getLabelValue(String)
> > > > を呼び出しているのですが、デバッガで確かめたところ40行目の
> > > > FacesContext.getCurrentInstance()がnullになっていて
> > > > NullPointerExceptionが発生しているように見えます。
> > > > (StackTraceを添付いたします。)
> > > >
> > > > ルートパッケージ.utilパッケージはこちらで勝手に追加したもので、
> > > > diconファイルは特に設定しておりません。
> > > > (HotDeploy時にはこのパッケージ内のクラスを普通に使えていたので、
> > > > 設定は不要だと思っていました。)
> > > >
> > > > 何か設定がまずいのかもしれません。
> > > > 見当がつく方、どうぞ宜しくお願い致します。
> > > >
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > =============================
> > > Shinpei Ohtani
> > > [E-MAIL ADDRESS DELETED]
> > > =============================
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
>
>
> --
> =============================
> Shinpei Ohtani
> [E-MAIL ADDRESS DELETED]
> =============================
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



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