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