首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceLoader + EJB注入

ServiceLoader + EJB注入
EN

Stack Overflow用户
提问于 2014-05-29 10:51:58
回答 1查看 501关注 0票数 1

我想知道是否可以将ServiceLoader与EJB以及Java 6的注入结合起来。

假设我有一个接口ServiceI,可以由两个EJB无状态bean BeanABeanB实现。

如果我在MEAT-INF/services中注册这两个类,它们将以Java方式实例化,而不是由应用程序容器来管理(就像使用@Inject时一样)。这意味着像@Inject@PostConstruct这样的注释不会被解析。

是否可能有类似于ServiceLoader的东西,允许我通过EJB实现给定的接口并根据某些条件返回接口呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 11:38:13

我找到了解决办法。

如果两个bean都实现了Service接口,则可以执行以下操作:

代码语言:javascript
复制
@Inject
private javax.enterprise.inject.Instance.Instance<Service> services

services实现Iterator<Service>,并允许循环执行实现Service接口的所有bean。

然后,您可以基于某些条件选择其中的一个实现,并且您有相当于ServiceLoader的EJB!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23931645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档