viz*_*oom 6 java cdi jsf-2 glassfish-3 managed-bean
是否有任何方法可以初始化由包中的javax.inject.Named/ javax.enterprise.context.ApplicationScopedlike 引用的命名Bean ?@ManagedBean(eager=true)javax.faces
@Named
@ApplicationScoped
public Mail() { ... }
Run Code Online (Sandbox Code Playgroud)
我希望在应用程序启动时加载此类,而不是在webapplication引用此bean时.
PS.
Glassfish注入的JSF 2.1 Bean 3.1
小智 3
您可以创建一个 CDI 扩展,该扩展在其方法之一上具有 @Observes AfterBeanDiscovery 参数。在那里您可以实例化 bean,从而在容器启动时对其进行初始化。CODI 使这些事情对您来说变得更容易,请参阅https://cwiki.apache.org/confluence/display/EXTCDI/Core+Usage#CoreUsage-Startup