何时注入EJB

时间:2012-05-04 07:10:11

标签: java-ee java-ee-6

我有一个Web服务,根据执行的调用,我需要注入不同的EJB。 我可以使用@EJB注释并指定可以在Web服务中使用的所有EJB。

示例:

@EJB
private EJBType1 ejb1;
@EJB
private EJBType1 ejb1;

@WebMethod
public String readDataFromType1() {
   ejb1.call1();
}

@WebMethod
public String readDataFromType2() {
   ejb2.call2();
}

我想知道的是什么时候注入EJB?仅在使用EJB时​​,或者在执行任何Web服务调用时都注入? 我担心如果我注入大量的EJB会对性能产生负面影响。

1 个答案:

答案 0 :(得分:0)

在bean准备好使用之前注入EJB。因此,即使没有调用它们的方法,也会注入EJBType1。但是有任何理由担心吗?这取决于。

如果EJBType1是具有远程接口的EJB,则获取对此类bean的引用可能成本很高(特别是如果此bean是有状态组件)。

如果EJBType1是本地接口EJB,则注入此类bean的开销并不是特别重要,特别是对于无状态组件,可以由应用程序服务器进行池化。