我正在使用Glassfish服务器。似乎@LocalBean
在服务器启动时被初始化。对于其他 bean,它们在查找时会正确初始化。这是本地豆子的正确行为吗?
没有规则说@LocalBean
应该急切地初始化,而其他人不应该。由容器提供程序决定何时初始化特定的 Bean。
您可以控制何时初始化 Bean 的唯一情况是将 EJB 与@Startup
注解一起使用@Singleton
。这将强制容器提供程序在服务器启动期间创建单例 Bean 的实例。这是放置初始化逻辑的好地方。
在 Glassfish 的情况下,您观察到的行为可能是正确的,但我不会转发它,因为其他容器提供商可能会选择不同的方法。