4

カスタム DeltaSpike ConfigSource を定義しようとしています。カスタム構成ソースが最も優先度が高く、構成パラメーターについてデータベースをチェックします。

キーと値を持つだけの ConfigParameter エンティティがあります。

@Entity
@Cacheable
public class ConfigParameter ... {

      private String key;
      private String value;

}

@Dependentすべての構成パラメーターを見つける DAO があります。

私が今やろうとしているのは、データベースから構成パラメーターを取得できるカスタム ConfigSource を定義することです。したがって、DAO を ConfigSource に挿入したいと考えています。基本的に次のようなもの

@ApplicationScoped
public class DatabaseConfigSource implements ConfigSource {

    @Inject
    private ConfigParameterDao configParameterDao;

    ....
}

ただし、 META-INF/services/org.apache.deltaspike.core.spi.config.ConfigSourceを介して ConfigSource を登録すると、クラスがインスタンス化され、CDI は機能しません。

この場合、CDI を機能させる方法はありますか?

事前に感謝します。さらに情報が必要な場合はお知らせください。

4

3 に答える 3

0

DS は、これに CD'Injectable' ではないjava se spiメカニズムを使用しています。1 つの解決策は、 BeanProviderを使用して DatabaseConfigSource を取得し、それに操作を委譲することです。

于 2016-05-18T13:52:18.420 に答える