SocialNetworkService
と呼ばれるインターフェースと、3 つの実装 - TwitterService
、FacebookService
およびがあるとしましょうFriendFeedService
。
ここで、マネージド Bean (または任意の Web コンポーネント) がメッセージを受信するたびに、それをすべてのソーシャル ネットワークで共有したいと考えています。私は試した:
@Inject private List<SocialNetworkService> socialNetworkServices;
しかし、うまくいきませんでした (展開エラー)。@Any
(予選にも挑戦- 同じ結果)
では、インターフェイスのすべて (または一部) の実装のリストを挿入する方法はありますか?
特定の注入ポイントに複数の Bean を含めることはできないというルールを知っています。リストを生成するプロデューサーを作成し、 を使用することでそれを達成できると思いますがInstance<SocialNetworkService>
、このタスクには多すぎるようです。