我有以下情况:
两个EJB实现相同的接口
@Stateless(name="theOne")
public class EjbOne implements InterfaceOne {
...
}
@Stateless(name="theSecond")
public class EjbTwo implements InterfaceOne {
...
}
我想将特定的EJB注入第三个类
@Stateless
public class EjbThree {
@EJB(...???...mappedName="theOne"? name=...? )
private EjbOne ejbOne;
}
我该怎么做? (记住,我正在使用@EJB,而不是@Inject和@Qualifier)
答案 0 :(得分:0)
您正在引用具体类private EjbOne ejbOne;
没有其他选择。如果你想使用旧的多态性@EJB private InterfaceOne ejbOne
,那么你根本不使用界面,你应该这样引用,那么你的问题就有意义了,你可以做的是:
一个。 @EJB(beanName="EjbOne") private InterfaceOne ejbOne
湾@EJB(lookup ="jndi-address") private InterfaceOne ejbOne
℃。 @EJB(mappedName="vendor-specific-address") private InterfaceOne ejbOne
d。 @EJB(name="java:comp/env like logical name") private InterfaceOne ejbOne