为什么 Spring Cloud Dataflow 供应商属性没有出现?
Why Spring Cloud Dataflow Supplier properties does not appear?
我有供应商的配置属性:
@Data
@NoArgsConstructor
@ConfigurationProperties("sybase.supplier")
public class SybaseSupplierProperties {
private short canal = 0;
private int pollSize = 10;
}
我在应用程序中注入它:
@SpringBootApplication
@EnableConfigurationProperties(SybaseSupplierProperties.class)
public class SybaseSupplier {
private final DataSource dataSource;
private final SybaseSupplierProperties properties;
@Autowired
public SybaseSupplier(DataSource dataSource,
SybaseSupplierProperties properties) {
this.dataSource = dataSource;
this.properties = properties;
}
}
我有 maven 依赖来生成它:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
生成为spring-配置-metadata.json
{
"groups": [
{
"name": "sybase.supplier",
"type": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties",
"sourceType": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties"
}
],
"properties": [
{
"name": "sybase.supplier.canal",
"type": "java.lang.Short",
"sourceType": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties",
"defaultValue": 0
},
{
"name": "sybase.supplier.poll-size",
"type": "java.lang.Integer",
"sourceType": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties",
"defaultValue": 10
}
],
"hints": []
}
application.properties
spring.cloud.stream.function.bindings.intControleSupplier-out-0=output
spring.cloud.function.definition=intControleSupplier
内部 Maven 存储库已注册。
应用已导入:
app register --name jdbc-sybase-supplier --type source --uri maven://br.com.clamed.cloud.dataflow.apps:jdbc-sybase-supplier:1.0.0-SNAPSHOT
我用的时候属性不显示:
为什么?
当 SCDF 服务器检索应用程序属性时,并非 spring-configuration-metadata.json
中的所有属性都可用。这是 limit
在 UI 处加载的属性数。但这并不意味着您不能将这些属性设置为应用程序属性。只是这些属性将在 SCDF web UI 以及 shell 完成中作为应用程序属性供您选择。
在您的情况下,要使您的 SybaseSupplierProperties
可用,您需要添加一个数据流配置文件,指定在加载应用程序时哪些属性应该可供 SCDF 检索。
您需要在 classpath*:/META-INF/
中指定 spring-configuration-metadata-whitelist.properties
(在最近的版本中已弃用)或 dataflow-configuration-metadata-whitelist.properties
以及您希望包含在应用程序配置中的属性 类 名称属性。
例如,在您的情况下,您需要在 /META-INF/dataflow-configuration-metadata-whitelist.properties
中包含以下内容:
configuration-properties.classes=br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties
您还可以查看有关此 here
的文档
我有供应商的配置属性:
@Data
@NoArgsConstructor
@ConfigurationProperties("sybase.supplier")
public class SybaseSupplierProperties {
private short canal = 0;
private int pollSize = 10;
}
我在应用程序中注入它:
@SpringBootApplication
@EnableConfigurationProperties(SybaseSupplierProperties.class)
public class SybaseSupplier {
private final DataSource dataSource;
private final SybaseSupplierProperties properties;
@Autowired
public SybaseSupplier(DataSource dataSource,
SybaseSupplierProperties properties) {
this.dataSource = dataSource;
this.properties = properties;
}
}
我有 maven 依赖来生成它:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
生成为spring-配置-metadata.json
{
"groups": [
{
"name": "sybase.supplier",
"type": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties",
"sourceType": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties"
}
],
"properties": [
{
"name": "sybase.supplier.canal",
"type": "java.lang.Short",
"sourceType": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties",
"defaultValue": 0
},
{
"name": "sybase.supplier.poll-size",
"type": "java.lang.Integer",
"sourceType": "br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties",
"defaultValue": 10
}
],
"hints": []
}
application.properties
spring.cloud.stream.function.bindings.intControleSupplier-out-0=output
spring.cloud.function.definition=intControleSupplier
内部 Maven 存储库已注册。
应用已导入:
app register --name jdbc-sybase-supplier --type source --uri maven://br.com.clamed.cloud.dataflow.apps:jdbc-sybase-supplier:1.0.0-SNAPSHOT
我用的时候属性不显示:
为什么?
当 SCDF 服务器检索应用程序属性时,并非 spring-configuration-metadata.json
中的所有属性都可用。这是 limit
在 UI 处加载的属性数。但这并不意味着您不能将这些属性设置为应用程序属性。只是这些属性将在 SCDF web UI 以及 shell 完成中作为应用程序属性供您选择。
在您的情况下,要使您的 SybaseSupplierProperties
可用,您需要添加一个数据流配置文件,指定在加载应用程序时哪些属性应该可供 SCDF 检索。
您需要在 classpath*:/META-INF/
中指定 spring-configuration-metadata-whitelist.properties
(在最近的版本中已弃用)或 dataflow-configuration-metadata-whitelist.properties
以及您希望包含在应用程序配置中的属性 类 名称属性。
例如,在您的情况下,您需要在 /META-INF/dataflow-configuration-metadata-whitelist.properties
中包含以下内容:
configuration-properties.classes=br.com.clamed.daflow.apps.sybasesupplier.SybaseSupplierProperties
您还可以查看有关此 here
的文档