ある種のプロデューサーファクトリーパターンを実装しようとしています。
派生型を注入しているときに、基本型のプロデューサー メソッドをトリガーすることは何とか可能ですか?
次のインターフェイスを想定しています。
interface Service
interface AService extends Service
このプロデューサーをトリガーしたい:
@Produces
Service factory()
この注入ポイント:
@Inject
AService srv;
目的は、マーカー インターフェイス (この場合はサービス) を追加することで、さまざまな種類のサービスに対して 1 つのプロデューサー ファクトリを用意することです。
私を助けてくれてありがとう
アップデート:
LightGuards ソリューションを試し@Typed
、AService 実装に追加しました。
@Typed(Service.class)
class AServiceImplemenation implements AService
残念ながら、満たされていない依存関係のエラーが発生します。CDIは、注入ポイントのService
プロデューサーを呼び出しません。AService
確かに、これは型安全性の理由から理にかなっています。Service
しかし、プロデューサーの呼び出しを強制する方法はありますか?