Jakarta ee 什么时候注入EJB

Jakarta ee 什么时候注入EJB,jakarta-ee,java-ee-6,Jakarta 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.call

我有一个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,会对性能产生负面影响。

EJB是在bean准备好使用之前注入的。因此,两个EJBType1都将被注入,即使它们的方法都没有被调用。但是有什么理由担心吗?视情况而定

如果EJBType1是一个具有远程接口的EJB,那么获取对此类bean的引用可能代价高昂,特别是如果此bean是一个有状态组件


如果EJBType1是一个本地接口EJB,那么与注入这样的bean相关的开销就不是特别大,尤其是对于无状态组件,它可以由应用服务器汇集。

EJB都是本地的。如果不使用这些资源,感觉就像是在浪费资源。我想制作一个EJB,它是所有应用程序的入口点。此接口执行基本审核跟踪日志记录和系统身份验证。如果成功,它将调用相关的EJB。这意味着我必须注入相当多的EJB,通常每个请求只使用一个EJB。但是,感谢您确认,即使没有使用EJB,也会注入EJB。