java - Docker/Marathon 上的 Spring Boot 数组环境变量

标签 java spring docker spring-boot marathon

我的应用程序具有以下形式的数组环境变量:tableName[0]=tableName ... property.one.two.tableName[x]=tableNameX

在本地运行时,当我将属性放入 application.properties、命令行参数或环境变量中时,一切正常。但是,一旦我尝试部署到 marathon,数组变量就不再起作用。我试图将它们传递到 marathon json 数组的 env 属性中。我试过:

"env": {
"property.one.two.tableName[0]":"tableName",
....
}

"env": {
"property.one.two.tableName": ["tableName", ... ]
 ...
}

"env" {
"tableName": [
 {"property.one.two.tableName[0]" : "tableName"}
 {....}
]
}

但是没有任何效果。有人让它工作吗?

最佳答案

似乎是 Spring 的一个错误。 Spring 的宽松绑定(bind)不起作用。将环境变量设置为预期变量的精确拼写解决了问题。

在我现有的代码中,宽松绑定(bind)适用于 property.one.two,但不再适用于 property.one.two. Three

关于java - Docker/Marathon 上的 Spring Boot 数组环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40746826/

相关文章:

查询方法中的Spring Data可选参数

docker - 如何在 Visual Studio 2017 版本 15.3.2 中暂时禁用来自 asp.net core 2.0 项目的 docker 支持?

java - 以特定格式显示Java.util.Date

java - 在 Spring 中继续获取 java.lang.NoClassDefFoundError

java - 在云环境中,使用哪些技术让客户端上传要处理的文件有什么好方法?

Spring AOP : logging and nested-methods

windows - docker 警告 : failed to get default registry endpoint from daemon

docker - 用于 Tensorflow 服务的 Prometheus

java - 使用ArrayList作为Java函数调用

java - 无法从警报对话框中的评级栏获取值