注入 CDI 中的对象列表(焊接)
2022-09-01 03:05:53
假设我有一个名为 、 的接口和三个实现 - 、 和 。SocialNetworkService
TwitterService
FacebookService
FriendFeedService
现在,每当我的托管Bean(或任何Web组件)收到消息时,我希望在所有社交网络中共享它。我试过了:
@Inject private List<SocialNetworkService> socialNetworkServices;
但它不起作用(部署错误)。(也尝试了限定符 - 相同的结果)@Any
那么,有没有办法注入接口的所有(或某些)实现的列表?
我知道一个规则,一个给定的注入点不应该有多个可能的豆子。我想我可以通过制作一个制作列表的生产者并使用来实现这一点,但对于这个任务来说,这似乎太多了。Instance<SocialNetworkService>