【问题标题】:JSF Named Bean, Eager application scoped (aka @ManagedBean(eager=true) )JSF Named Bean,Eager application scoped (aka @ManagedBean(eager=true) )
【发布时间】:2011-10-19 22:27:58
【问题描述】:

有什么方法可以初始化 javax.inject.Named/javax.enterprise.context.ApplicationScoped 注释的命名 Bean,例如 javax.faces 包中的 @ManagedBean(eager=true)

@Named
@ApplicationScoped
public Mail() { ... }

我想在应用程序启动时加载这个类,而不是在 webapplication 引用这个 bean 时加载。

ps。 JSF 2.1
Glassfish 3.1 注入的 Bean

【问题讨论】:

    标签: java jsf-2 glassfish-3 cdi managed-bean


    【解决方案1】:

    您可以创建一个 CDI 扩展,该扩展在其方法之一上具有 @Observes AfterBeanDiscovery 参数。在那里,您可以实例化 bean,从而在容器启动时对其进行初始化。 CODI 为您简化了这些事情,请参阅 https://cwiki.apache.org/confluence/display/EXTCDI/Core+Usage#CoreUsage-Startup

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 2014-07-22
      • 2016-10-24
      • 2013-03-03
      • 2012-10-12
      相关资源
      最近更新 更多