有没有办法初始化javax.inject.Named
/ javax.enterprise.context.ApplicationScoped
@ManagedBean(eager=true)
javax.faces
来自@Named
@ApplicationScoped
public Mail() { ... }
包的注释的命名Bean?
{{1}}
我希望在应用程序启动时加载此类,而不是在webapplication引用此bean时加载。
PS。 JSF 2.1
由Glassfish注入的豆3.1
答案 0 :(得分:3)
您可以创建一个CDI扩展,在其中一个方法上具有@Observes AfterBeanDiscovery参数。在那里,您可以实例化bean,从而在容器启动时初始化它。 CODI让您更轻松,请参阅https://cwiki.apache.org/confluence/display/EXTCDI/Core+Usage#CoreUsage-Startup