Скажем, у меня есть интерфейс под названием SocialNetworkService и три реализации - TwitterService, FacebookService и FriendFeedService.
Теперь я хочу, когда мой управляемый bean (или любой другой веб-компонент) получает сообщение, чтобы разделить его во всех социальных сетях. Я пробовал:
@Inject private List<SocialNetworkService> socialNetworkServices;
Но это не сработало (ошибка развертывания). (Также попытался использовать @Any классификатор - тот же результат)
Итак, есть ли способ внедрить список всех (или некоторых) реализаций интерфейса?
Я знаю правило, что данная точка инъекции не должна иметь более одного возможного bean. Наверное, я могу добиться этого, создав производителя, который создает список, и используя Instance<SocialNetworkService>, но это кажется слишком большим для этой задачи.