アプリケーションのロード時に、JSF Web アプリケーションの起動時にマネージド Bean を内部で実行したいと考えています。このクラスを記述して Glassfish で構成するにはどうすればよいですか?
4943 次
1 に答える
20
CDI を使用する JSF で、アプリケーション スコープの初期化を観察します。
@Named
@ApplicationScoped
public class App {
public void startup(@Observes @Initialized(ApplicationScoped.class) Object context) {
// ...
}
public void shutdown(@Observes @Destroyed(ApplicationScoped.class) Object context) {
// ...
}
}
OmniFacesが手元にある場合、これは で簡素化できます@Eager
。
@Named
@Eager
@ApplicationScoped
public class App {
@PostConstruct
public void startup() {
// ...
}
@PreDestroy
public void shutdown() {
// ...
}
}
JSF 2.2 では、非推奨 javax.faces.bean
になったアノテーションを使用して、事前に初期化されるアプリケーション スコープの マネージド Beanを使用します。
@ManagedBean(eager=true)
@ApplicationScoped
public class App {
@PostConstruct
public void startup() {
// ...
}
@PreDestroy
public void shutdown() {
// ...
}
}
于 2012-07-13T18:52:38.257 に答える