我们无法找到从另一个容器注入SessionBean的正确方法。CDI跨容器注入
比方说,我们有两个耳朵文件EARA和EARB和共享的jar:
EARA
@Stateless
public class MyBean implements BeanInterface{...}
EARB
@Stateless
public class OtherBean{
@Inject BeanInterface myBean;
}
apiJar
包含BeanInterface的jar文件存在于earA和earB中
我们不希望通过@EJB显式使用JNDI名称,因为earB将由外部客户实现和部署。
我们想让earB通过BeanInterface注入MyBean尽可能简单(以及尽可能少的earA知识)。
你在哪里找到的信息CDI将整个耳朵工作?如果在earB中使用@EJB,则可以通过引用earA中的bean来映射该值,而不会在earB中更改代码。 – Gas 2014-09-19 08:55:44
不知道我明白你的回应。你希望我使用@EJB注释,然后指定实现类?然后我强迫我的外部客户了解我的实现细节...... – mathiasbn 2014-09-19 11:04:29
编号使用标准的'@EJB(name =“ejb/BeanInterfaceRef”)BeanInterface myBean;'然后您可以将'ejb/BeanInterfaceRef'映射到bean的JNDI在earA中,例如通过jboss.xml - http://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/ENC_Usage_Conventions-EJB_References_with_jboss.xml_and_jboss_web.xml.html – Gas 2014-09-19 11:22:17