Spring Cloud数据流-任务属性



我正在使用SCDF,我想知道是否有任何方法可以为一个应用程序配置默认属性?我在SCDF中注册了一个任务应用程序,该应用程序获得了一些JDBC属性来访问业务数据库:

app.foo.export.datasource.url=jdbc:db2://blablabla
app.foo.export.datasource.username=testuser
app.foo.export.datasource.password=**************
app.foo.export.datasource.driverClassName=com.ibm.db2.jcc.DB2Driver

我真的需要把这个道具放在这样的属性文件中吗:(在发布过程中定义它们有点奇怪(

task launch fooTask --propertiesFile aaa.properties

另外,我们不能使用其余的API,凭据会出现在url中。

或者还有其他方法/地方可以定义应用程序的默认业务道具吗?这些道具将仅用于此任务。

目的是有一个地方,OPS团队可以在这里配置url和凭据,而无需使用启动命令。

谢谢。

是的,SCDF在配置区域感觉有点奇怪。

正如您所写的,您可以注册应用程序并创建任务,但所有配置都是在首次启动任务时传递的。换句话说,如果不运行任务,就无法完全安装/配置它

一旦任务运行一次,您就可以在不进行任何配置的情况下重新启动它,并且它使用以前的配置。整个配置保存在SCDF数据库中。

但是,如果您尝试用新值覆盖现有配置属性,SCDF似乎会忽略新值并继续使用旧值。不知道这是设计还是错误,或者我们做错了什么。

因为我们在Kubernetes上运行SCDF任务,并且我们习惯于在YAML文件中配置所有基础设施,所以我们发现的最佳选择是为SCDF编写自己的Operator

这个操作符针对SCDF的REST接口工作,还补偿了上面提到的奇怪的配置问题。例如,通过首先删除配置并使用新值重新创建配置,可以解决覆盖问题。

有了这个操作符,我们就达到了您想要的目的:我们所有的SCDF配置都在git存储库中,所有的更改都是通过合并请求完成的。多亏了CI/CD,下次发布时将使用新配置。

但是,Kubernetes操作符应该是产品的一部分。如果没有它,Kubernetes上的SCDF感觉相当";外星人";。

最新更新