使@PostConstruct仅用于StateLess EJB的第一个实例

时间:2015-01-30 12:38:09

标签: java java-ee glassfish ejb

我有一类陈旧的EJB(不是单身!)。当创建此类的第一个bean时,我只需要调用一个方法(加载配置)。 @PostConstruct解决了我的一半问题,但它已经为每个bean执行了。解决此类问题最优雅的方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以使用@Startup批注强制容器在应用程序初始化期间实例化单例实例。

@Startup
public class StartupBean {

@PostConstruct
private void startup() { ... }

@PreDestroy
private void shutdown() { ... }
...
}

答案 1 :(得分:0)

我看到两个选项:

  • 考虑使用封装文件配置数据的单例对象,并在EJB中添加对它的引用。

  • 考虑创作设计模式。我认为原型模式应该符合您的需求,但您可能会找到其他替代方案。请查看详细信息:http://en.wikipedia.org/wiki/Software_design_pattern