在 bluemix liberty 应用程序中如何使用 server.xml 中的环境变量

In bluemix liberty apps how to use the Environment variables in server.xml

我将一个 Bluemix 应用程序推送为 liberty 构建包。我想在 server.xml 中设置一些值,这些值是使用应用程序的环境变量设置的。以下是我的 server.xml 中关于我如何尝试访问环境变量的片段。它没有按预期工作。如果我在这里遗漏了什么,请告诉我。

<server>
<jndiEntry jndiName="myKey" value="${process.env.MY_ENV_VARIABLE}"/> 
</server>

另外,如果有其他方法请指教。谢谢。

我认为应该是

<server>
  <jndiEntry jndiName="myKey" value="${env.MY_ENV_VARIABLE}"/> 
</server>

如果您在 Bluemix 上使用 Liberty,通常不需要配置 JNDI 条目之类的东西,因为 auto configuration 会自动为许多类型的绑定服务(例如数据库和 SSO)添加条目。

配置 Bluemix 应用程序的另一个很好的做法(可能适合也可能不适合此用例)是使用 user-provided services 获取特定于部署的信息。然后,您的应用程序将从 VCAP_SERVICES 环境变量中解析配置信息。