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