jsf - 如何配置启动托管 bean?

标签 jsf startup managed-bean

我想要一个托管 bean 在应用程序加载时在我的 JSF Web 应用程序中启动时在内部运行。如何编写此类并在 Glassfish 中进行配置?

最佳答案

在带有 CDI 的 JSF 中,observe initializationapplication scope .

@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- 中使用 now deprecated javax.faces.bean注释,使用 application scoped managed bean这是 eagerly初始化。
@ManagedBean(eager=true)
@ApplicationScoped
public class App {

    @PostConstruct
    public void startup() {
        // ...
    }

    @PreDestroy
    public void shutdown() {
        // ...
    }
}

关于jsf - 如何配置启动托管 bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474882/

相关文章:

jsf - 无法从 f :ajax inside composite component 调用监听器方法

linux - 重启后自动直接运行一个shell命令并保持运行

css - 从 JSF 托管 bean 生成 CSS

java - JSF sessionScope 中的 ManagedBean 字段

jsf - WELD-001408 : Unsatisfied dependencies for type Customer with qualifiers @Default

jsf - 创建自定义标签: optional binding

ajax - ajax调用后复合组件渲染两次

delphi - 我可以让我的Delphi App在特定时间(例如12:00 AM)启动,而无需运行该应用程序吗?

jsf - 单击滚动条后,Primefaces 自动完成关闭

C启动代码只写汇编困惑