java - 是否可以使用 Java EE 注入(inject)实现接口(interface)的 bean 列表

标签 java dependency-injection jakarta-ee ejb-3.0

我想知道我是否可以注入(inject)一个(无状态)bean 列表,所有这些都实现了一个特殊的接口(interface)。

例如,我有一个模块契约(Contract)

public interface ResetService {
  void reset(MyContext context);
}

我有两个模块正在实现这个接口(interface)。一个模块应该调用所有实现:

@EJBs
private List<ResetService> resetServices;

void resetAllModules(MyContext context) {
  for (ResetService resetService : resetServices)
    resetService.reset(context);
}

重要的是,所有调用都在主事务中,并且重置调用者必须知道重置调用是否完成。所以我无法使用 JMS 和主题。

我想,这是不可能的,或者?

最佳答案

之前的答案是错误的。您可以使用 @Any 注释和 javax.enterprise.inject.Instance 类动态注入(inject)。这里是简单的例子http://coders-kitchen.com/2013/01/24/jee-and-dynamic-dependency-injection/

关于java - 是否可以使用 Java EE 注入(inject)实现接口(interface)的 bean 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2407871/

相关文章:

javascript - 构造 Angular 应用程序以便 Controller 可以拥有 $state.go(..) 的最佳方法是什么?

java - CSS 未在 GXT 文本区域中更新

java - 以货币格式显示最终价格并从java文件中读取

android - roboGuice 和 butterknife 依赖注入(inject)的区别

java - 如何使用 Eclipse 3.6 创建构建

java - 更新 ADF faces 中的 UI 组件

java - 为什么我不能在 java ee 项目中使用 PDDOCUMENT PDFBOX ?

java - Apache HttpCore,用于回显接收到的发布数据的简单服务器

java - 如何在 Java 中命名导入/导出包?

asp.net-mvc - MVC 存储库模式 - 访问其他存储库