を経由して、既存のBeanに@Named修飾子を追加する場合:私のWebアプリケーションでCDIあいまいな依存関係私は、依存関係のjarファイル内のCDI Bean実装してい@Produces
@ApplicationScoped
public class MyService {
public String doSomething() {...}
}
を、私はEL式を経て、そのサービスにアクセスしたいです、したがって、私はそれに@Named
注釈を付ける必要があります。しかし、コードを変更する権利がないので、MyService
の実装にアノテーションを追加することはできません。
ので、私はこれが
WELD-001409になり
public class MyServiceProducer { @Inject MyService myService; @Produces @Named("myService") public MyService produceNamedInstance() { return myService; } }
などのプロデューサーを作成してみました - ... @default修飾子を持つ型MyServiceでのためのあいまいな依存関係 可能な依存関係: を - 修飾子[@Any @Default]を持つマネージドBean [クラス... MyService] - 修飾子[@Default @Named @Any]が[...]として宣言されたプロデューサメソッド[myService]
元のソースコードに触れることなく@Named
注釈を追加するにはどうすればよいですか?
ありがとう、それはトリックでした:) – Florian
あなたはようこそ。 – BalusC