@Singleton使用静态getInstance方法

时间:2014-05-26 02:09:19

标签: singleton ejb

我有一个关于ejb @Singleton的问题,因为我有一些设计要求,我需要在标准pojo中访问容器管理资源。

这就是我在做什么,只是想看看你对此的看法,以及是否有任何副作用。

1. have a @Singleton bean managed by jboss container.
    Example:
    @Singleton'
    @Startup
    public class ResourceInjector(){
    @EJB
    private DAO dao1;
    @EJB 
    private DAO dao2;
    @EJB
    private  otherStatelessEjb;

}
  1. 通过getInstance方法访问上述ResourceInjector,以便在容器内进行调用

    示例:

     @Singleton
    
     @Startup
    
     public class ResourceInjector(){
     @EJB
     private DAO dao1;
     @EJB 
     private DAO dao2;
     @EJB
     private  otherStatelessEjb;
    
    private ResourceInjector INSTANCE;
    
    public ResourceInjector(){
      ResourceInjector.INSTANCE=this
    

    }

    public static ResourceInjector getInstance(){      return ResourceInjector .INSTANCE;    }

    public DAO getSomeDao(){       返回一些托管dao的引用    }

    }

  2. 现在:

     MyNormalPojo  pojo = new MyNormalPojo();
        pojo.setSomeDao(ResourceInjector.getInstance().getSomeDao());
    

    主要问题是在ResourceInjector上引入静态getInstance()方法是关于EJB规范和EJB行为的问题吗?

0 个答案:

没有答案