【问题标题】:Cannot deploy custom module that uses the same property name, but under different prefixes无法部署使用相同属性名称但前缀不同的自定义模块
【发布时间】:2017-02-14 13:35:03
【问题描述】:

系统信息

Spring Cloud Data Flow 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。数据源属性位于configuration-properties.names 下的spring-configuration-metadata-whitelist.properties 文件中。

SCDF 似乎依赖于缩短的属性形式,而不使用配置前缀,在这种情况下这对我来说是个问题,因为无法区分属性。

在部署模块时失败并出现错误。

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

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

谢谢

【问题讨论】:

    标签: spring-cloud-dataflow


    【解决方案1】:

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

    短混叠机制确实可以在 95% 没有冲突的情况下提供帮助。请记住,这是特定于数据流的,您的 real 属性名称是 salesforce.password

    【讨论】:

      猜你喜欢
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多