在服务层中为我的REST Web服务注入带有@EJB或@Inject的EJB?

时间:2013-12-19 06:49:49

标签: java rest java-ee cdi

我创建了一些EJB,它们用@Stateless注释。要在其他EJB中使用这些EJB,我目前正在使用@EJB注释。我为我的REST Web服务创建了另一个层(通过服务层)(我正在使用JAX-RS),我想知道是否应该使用@EJB@Inject。我知道这两个是不同的东西 - 他们可能住在不同的容器中?如果我使用@Inject,我会获得与@EJB相同的EJB。或者我从CDI容器中获取EJB?

我还想通过使用@Inject我没有得到我从@EJB获得的所有EJB功能?

2 个答案:

答案 0 :(得分:1)

@Inject支持EJB的注入。没有功能差异,CDI正在使用标准JNDI位置进行查找以查找对象。 @EJB注释具有一些额外的功能,主要是在@Inject

之前不支持OOTB的远程处理或非标准JNDI位置

答案 1 :(得分:0)

Intersting link about:http://www.oracle.com/technetwork/articles/java/cdi-javaee-bien-225152.html我没有自己尝试,但看起来@Inject比@EJB更强大......