6

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

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

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

附言。
Glassfish 3.1 注入的JSF 2.1 Bean

4

1 回答 1

3

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

于 2011-10-26T14:08:47.603 回答