3

CDI初心者の質問です。簡単なテスト シナリオ: JSF + CDI SessionScoped Bean。

JSFページで言及したり、他の Bean からそれらのメソッドを呼び出したりせずに、セッション スコープの CDI Bean の既知のセットをインスタンス化するエレガントな方法が必要です。テスト ケースとして - HTTP セッションの開始時刻と終了時刻を単純に記録する単純なロギング Bean。

確かに、空の JSF コンポーネントを作成し、それをサイト全体のテンプレート内に配置して、必要なセッション Bean のダミー メソッドをトリガーするようにすることはできますが、私の視点からはちょっと見苦しいです。

私が見る別のオプションは、単一のセッション Bean (他の BeanELJSFまたは参照によって 100% 初期化される) を選択し、その@PostConstructメソッドを使用して他のセッション Bean をトリガーすることです。

ここで何かが足りないようです。他のアイデアをいただければ幸いです。

4

2 に答える 2

1

はい、HttpSessionListenerそうします。Bean を注入して呼び出すだけです。

コンテナが HttpSessionListener での注入をサポートしていない場合は、deltaspike コアとBeanProvider

http://deltaspike.apache.org/core.html

于 2013-11-13T20:43:06.807 に答える