2017-04-05 18 views
0

私はMyAppというアプリケーションを1つのプロジェクトにMyAppProperties、もう1つのプロジェクトにCommonPropertiesと表示しています。両方のプロパティクラスには@ConfigurationPropertiesという注釈が付けられています。私はまた私のpom.xmlにこの依存関係を追加した春のCDFに一部のプロパティが表示されない

configuration-properties.classes=com.app.MyAppProperties, \ 
    com.common.CommonProperties, \ 
    org.springframework.boot.autoconfigure.data.redis.RedisProperties, \ 
    org.springframework.boot.autoconfigure.data.redis.RedisProperties$Pool, \ 
    org.springframework.boot.autoconfigure.data.redis.RedisProperties$Sentinel 

:私はMyAppプロジェクトに次の内容のMETA-INF/spring-configuration-metadata-whitelist.propertiesを追加

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-configuration-processor</artifactId> 
    <optional>true</optional> 
</dependency> 

しかし、私はCDFの流れに少しホイールをクリックしたとき作成GUI私はMyAppPropertiesとすべてRedisPropertiesを見ることができますが、CommonPropertiesはありません。

app info --id processor:myappと同じ結果がdataflow-shellから得られます。

私には何が欠けていますか?

答えて

0

アセンブリの正確さを確認する簡単な方法は、同様の設定を持つOOTBアプリケーションのいずれかを参照することです。例えば

time-sourceも:jdbcfileしてもよく、他)は全く別のプロジェクトから共通の「トリガー」application propertiesを継承する依存関係としてapp-starters-trigger-commonを引っ張ります。

TriggerPropertiesMaxMessagesDefaultOnewhitelistedとすると、ネイティブアトリビュートプロパティと依存アーチファクトプロパティの両方を表示できます。

おそらく、あなたのケースでは、他のプロジェクトからCommonPropertiesを消費するように適切な依存関係を並べていないかもしれません。

+0

DSLを使ってアプリケーションに 'CommonProperties'を渡すことができます。たとえば:' --common.value = 5'と 'MyApp'の起動時に実際にそれを見て依存関係が働いているだけですそれが利用可能と表示されていません。 – aturkovic

関連する問題