如何在自定义处理器应用程序中将MongoProperties列入白名单?

时间:2017-03-15 04:01:25

标签: spring-cloud-dataflow

我编写了一个自定义处理器应用程序来读取MongoDB中的数据。在这个应用程序中,我使用 MongoTemplate 进行MongoDB操作,因此SpringBoot为属性加载提供了 MongoProperties 类。

然而,当我尝试白名单MongoProperties以便我可以在WebUI仪表板上看到这些属性时,我遇到了一些问题。它只显示“没有属性可用”

我已按照文档中的23.1 Whitelisting application properties spring-configuration-metadata-whitelist.properties 文件中添加以下行

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

pom.xml

中添加以下依赖项
    <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)的弹簧启动列表?

非常感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

更简单的调试方法是解压缩应用程序jar文件并验证是否:

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

在您的类路径中(通常通过app starter jar),spring-configuration-metadata-whitelist.properties包含所需属性的条目