如何在Spring Cloud Dataflow的application.properties中移除app.前缀?
在Spring Cloud Dataflow中移除配置属性的app.前缀方案
有几种可行的方案解决这个问题:
任务启动时指定属性映射
启动批处理任务时,通过--spring.cloud.dataflow.task.property.mappings参数直接配置前缀替换。假设你的应用名称是my-batch-app,启动命令里加这个参数:--spring.cloud.dataflow.task.property.mappings=app.my-batch-app.=,这样Dataflow会自动把所有以
app.my-batch-app.开头的属性去掉前缀,直接传递给任务应用。全局配置属性映射
如果需要对该应用的所有任务实例生效,可以在Dataflow服务器的application.properties里添加全局映射规则:spring.cloud.dataflow.task.property.mappings=app.my-batch-app.=,后续启动该应用的任务都会自动应用这个前缀移除规则。
任务应用内部适配
要是上面的Dataflow端配置没法满足需求,也可以在你的批处理应用里做适配。比如用Spring的EnvironmentPostProcessor自定义属性处理逻辑,把传入的app.<app-name>.xxx属性重命名为xxx;或者结合@ConfigurationProperties,指定前缀为app.<app-name>,这样就能直接绑定到对应的属性字段上。
内容的提问来源于stack exchange,提问作者alaa bourouissi
相关产品推荐
相关产品推荐

