搜索

5.2. 用于解析管理模型表达式的环境变量

download PDF

要解决管理模型表达式并在 OpenShift Container Platform 上启动 JBoss EAP 8.0 服务器,您可以在管理命令行界面(CLI)中添加环境变量或设置 Java 系统属性。如果您同时使用两者,JBoss EAP 会观察并使用 Java 系统属性,而非环境变量来解析管理模型表达式。

系统属性到环境变量映射

假设您具有此管理表达式 :${my.example-expr}。当您的 JBoss EAP 服务器尝试解析它时,它会检查名为 my.example-expr 的系统属性。

  • 如果您的服务器找到此属性,它将使用其值来解析表达式。
  • 如果找不到此属性,您的服务器将继续搜索。

接下来,假设您的服务器找不到系统属性 my.example-expr,它将 my.example-expr 自动更改为所有大写字母,并将不是字母数字的所有字符替换为下划线(_): MY_EXAMPLE_EXPR。然后,JBoss EAP 会检查具有该名称的环境变量。

  • 如果您的服务器找到此变量,它将使用其值来解析表达式。
  • 如果找不到此变量,您的服务器将继续搜索。
提示

如果您的原始表达式以前缀 env 开头。 JBoss EAP 通过删除前缀来解析环境变量,然后只查找环境变量名称。例如,对于表达式 env.example,JBoss EAP 会查找 示例 环境变量。

如果这些检查找不到用于解析您的原始表达式的属性或变量,JBoss EAP 会查找表达式是否具有默认值。如果这样做,则默认值会解析表达式。如果没有,则 JBoss EAP 无法解析表达式。

两台服务器的示例

假设在一个服务器上,JBoss EAP 定义此管理资源: < socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">.要运行具有不同端口偏移的第二个服务器,而不是编辑配置文件,请执行以下操作之一:

  • 设置 jboss.socket.binding.port-offset Java 系统属性,以解析第二服务器上的值: ./standalone.sh -Djboss.socket.binding.port-offset=100
  • 设置 JBOSS_SOCKET_BINDING_PORT_OFFSET 环境变量,以解析第二服务器上的值: JBOSS_SOCKET_BINDING_PORT_OFFSET=100 ./standalone.sh.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.