使用EJB3的Jboss中的静态对象

时间:2010-09-09 21:55:41

标签: jboss java-ee singleton ejb-3.0

是否可以在Jboss中使用EJB3创建类似静态对象的东西。换句话说,我需要使用单例模式或类似的东西创建类似静态对象的东西,这是因为我需要从数据库预加载配置,我希望jboss创建的每个bean都使用此类来读取此配置而不是每个bean都从数据库中加载它。

干杯,

2 个答案:

答案 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中发布/清理。