在OSGI配置文件中使用环境变量

时间:2018-08-19 14:24:44

标签: java docker osgi enroute

我们正在使用OSGI enRoute(https://enroute.osgi.org/),并且希望在我们的configuration.json文件中包含环境变量。

然后是为Dockerfile中的这些环境变量分配值,以便在Kubernetes中进行后续部署。

赞赏带有环境变量的示例configuration.json文件,因此我们可以看到必要的语法。

预先感谢, 兰迪

1 个答案:

答案 0 :(得分:2)

OSGi仍然允许使用标准Java API System.getenv

访问环境变量

但是,更模块化(和OSGi-y)的方式是拥有与应用程序交互的应用程序配置服务。然后,应用程序配置服务将处理对环境变量的访问,并允许您的应用程序在Docker外部可移植且易于测试。该服务可以处理从String到Integer的类型转换(所有环境变量都像字符串一样对待)。这使您的Java应用程序不必到处都进行类型转换。

注意:您需要澄清有关json配置的问题。 Docker注入了简单键值的Linux进程环境变量。您也许是想指出用于配置特定Docker容器工具链使用的Docker容器的特定JSON配置类型吗?