是否可以在Jboss中使用EJB3创建类似静态对象的东西。换句话说,我需要使用单例模式或类似的东西创建类似静态对象的东西,这是因为我需要从数据库预加载配置,我希望jboss创建的每个bean都使用此类来读取此配置而不是每个bean都从数据库中加载它。
干杯,
答案 0 :(得分:1)
EJB 3.1确实有标准@Singleton
注释,但EJB 3.0没有。但是,JBoss提供了对EJB 3.0规范的JBoss扩展,以创建具有@Service
注释的单例。
来自JBoss EJB 3.0参考文档:
Chapter 6. JBoss EJB 3.0 extensions
JBoss提供了一些扩展 EJB 3.0规范。本章介绍 这些功能在这里。
6.1。 @Service EJBs
JBoss EJB 3.0提供的扩展 是一个概念
@org.jboss.annotation.ejb.Service
带注释的bean。他们是单身人士 豆子并没有汇集,所以只有一个 bean的实例存在于 服务器。他们可以同时拥有@Remote
和。{1}}@Local
接口以便它们可以 由Java客户端访问。什么时候 不同的客户查找 全部是@Service
bean的接口 客户端将在同一个实例上工作 服务器上的bean。什么时候 安装它得到的bean 它是MBean服务器中的JMX ObjectName 继续前进。默认值为jboss.j2ee:service=EJB3,name=<Fully qualified name of @Service bean>,type=service
您可以覆盖此默认值 ObjectName通过指定
objectName
的属性@Service
注释。
答案 1 :(得分:0)
使用@Singleton注释的Bean应该可以工作。将数据库初始化代码放在@PostConstruct&amp;可以在@PreDestroy中发布/清理。