无法部署使用相同属性名称但位于不同前缀

时间:2017-02-14 13:35:03

标签: spring-cloud-dataflow

系统信息

Spring Cloud数据流Cloud Foundry:v1.1.0.RELEASE Pivotal Cloud Foundry:v1.7.12 CF客户端(Windows):cf.exe版本6.23.1 + a70deb3.2017-01-13 cf-v3-plugin:0.6.7

我开发了一个自定义源模块,它连接到REST API以获得对数据的增量更改。偏移信息存储在连接的Postgres中的数据库表中。

我有一个模块选项@ConfigurationProperties("salesforce")类,其属性为usernamepassword。但是,我的数据源属性spring.datasource.*属性也有usernamepassword。数据源属性位于spring-configuration-metadata-whitelist.properties下的configuration-properties.names文件中。

SCDF似乎依赖于缩短的属性形式,而不是使用配置前缀,这在我的实例中对我造成了问题,因为无法区分属性。

在部署模块时,它会因错误而失败。

java.lang.IllegalArgumentException: Ambiguous short form property 'password' could mean any of [spring.datasource.password, salesforce.password]

除了在实际的属性名称前加上区分它们的东西之外,有没有办法以更优雅的方式解决这个问题。

谢谢

1 个答案:

答案 0 :(得分:0)

不,没有;)(除了将短名称更改为其他内容,当然还有userpwd

短暂的混叠机制确实可以帮助95%没有碰撞的情况。请注意,这是特定于数据流的,您的真实属性名称为salesforce.password