我想自动查找 EJB 实例并将其从 EJB 容器注入(inject)到列表中。示例:
@EJBs
List<MyCommonInterface> beans;
或
List<MyCommonInterface> beans;
public MyClass() {
beans = (List<MyCommonInterface>) context.findBeansByInterface(MyCommonInterface.class);
}
这可能吗?
最佳答案
通过 JEE6,您可以使用实例 http://docs.oracle.com/javaee/6/api/javax/enterprise/inject/Instance.html
这样您就可以使用注入(inject)的上下文,例如
@Inject
private Instance<ICommon> ejbs;
你可以迭代它:
for(ICommon c : ejbs)
c.doSomeThing();
这里有一个类似的 iface 示例
public interface ICommon {
void doSomeThing();
}
我在 @Singleton 中使用 SLSB 和 SFSB 对其进行了测试。
关于java - 通过通用接口(interface)将 EJB 注入(inject)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21575365/