2012-01-13 19 views
1

アプリケーションでサポートデータを使用していますが、サーバーの起動時にそのデータをロードします。私は春の文脈を使っています。サーバーの起動時にアプリケーション・コンテキストをロードできれば、問題は解決されます。私はそれを使用しないように、ばね部品わからないサーバーの起動時に特定のSpring Beanを起動する方法

+0

コンテキスト初期化イベントをリッスンしないのはなぜですか? –

答えて

2

が、JSFであなたは@ApplicationScoped@ManagedBeanそのeager attribtueがtrueに設定されている使用することができます。

@ManagedBean(eager=true) 
@ApplicationScoped 
public class Data { 

    // ... 

} 

これは、webappの起動時にマネージドBeanを自動構築します。

+0

ViewScopedはSpringと統合するとApplicationScopedが動作しないことがあります。 –

+1

@maple_shaft:私はJava EE 6でSpringの有用性を常に考えてきました。 – BalusC

+2

@BalusC私は同意します。 JEE6は、Springが解決するために作成された多くの問題を修正しました。つまり、SpringにはEE6以外の機能が追加されています(これは、任意のアプリケーションで必要となる場合もあります)。 –

2

ServletContextListenerを登録し、contextInitialized()see Servlet Life-Cycle Events)にBeanをフェッチします。

これは、2つの利点があります。

  1. あなたが事前に定義されたために、いくつかの豆を取り出すことができます(この必要になることはありませんが、まあ、現実は常に勝利)
  2. それはあなたに干渉しないだろうしテスト
関連する問題