2017-03-15 11 views
0

私はMongoDBからデータを読み込むためのカスタムプロセッサーアプリを書いています。このアプリでは、MongoTemplateをMongoDBの操作に使用しています。そのため、SpringBootはプロパティのロードにクラスMongoPropertiesを提供しています。カスタムプロセッサアプリケーションでMongoPropertiesをホワイトリストに登録する方法は?

しかし、WebUIダッシュボードでこれらのプロパティを見ることができるようにMongoPropertiesをホワイトリストにしようとすると、何か問題が発生します。 "利用可能なプロパティはありません"と表示されます。

私はspring-configuration-metadata-whitelist.propertiesファイル

configuration-properties.classes=org.springframework.boot.autoconfigure.mongo.MongoProperties 

に以下の行を追加し、のpom.xml

に、次の依存関係を追加するために、ドキュメントに23.1 Whitelisting application propertiesを踏襲しています
<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-configuration-processor</artifactId> 
     <optional>true</optional> 
    </dependency>  

私はgithubでspring-cloud-stream-app-starters/mongodb のコードを読んでいます。それは私と同じことをするようです。

実際、私はいくつかの他のアプリを書いており、WebUIは通常はホワイトリストにあるプロパティを表示します。唯一の違いは、これらのアプリケーションでは、私自身が@ConfigurationPropertyクラスを作成することです。

春のブートをホワイトリストにするにはどうすればいいですか?@ConfigurationPropertyクラス(私の場合はMongoProperties)?

ありがとうございました!エントリを持っているあなたのクラスパスに

META-INF/spring-configuration-metadata-whitelist.properties META-INF/spring-configuration-metadata.json

spring-configuration-metadata-whitelist.properties(通常はアプリスターター瓶を経由して):あなたが持っている場合

+0

最後に、SCDFバージョンの問題が判明しました。この問題はSCDFのYARN 1.0.2.RELEASEに現れ、SCDF Local 1.1.3.RELEASE – JavyZheng

答えて

0

これをデバッグする簡単な方法は、アプリケーションのjarファイルを解凍し、検証することです必要なプロパティ

+0

で消えました。Ilayaperumal、私はMETA-INF/*プロパティファイルを持っていますが、META-INF/*はありません。ファイル – JavyZheng

+0

私は自分自身で定義された** @ ConfigurationProperty **クラスを追加し、** META-INF/spring-configuration-metadata.json **を生成して、さらにテストを行いました。 'spring-boot-configuration-processor'は、自分自身で定義された@ConfigurationPropertyクラスのメタデータだけを生成するようですが、依存ライブラリ – JavyZheng

+0

のメタデータは生成されないようです。' .json'ファイルがあなたのUber-自分自身がuber-jarに入っている(起動提供の)jarファイルに埋め込まれています。確かにこれが事実であることを確認できれば、あなたの問題は何か他のものから来ています(クラス名?、キー名?、ファイル名?)。あなたのアプリのソースが公開されている場合は、再現できるかもしれないことを指摘してください – ebottard

関連する問題