如何在 jboss' standalone.xml 中的属性名称中使用环境变量?

How do I use environment variables in an attribute name in jboss' standalone.xml?

我知道在一个字段中,我可以使用 ${env.VARIABLE_NAME} 的语法提取环境变量,但是,每当我尝试在属性名称中这样做时,jboss 会抛出一个错误。

我所做的和有效的

                <datasource jndi-name="java:/jdbc/database" pool-name="database" enabled="true" use-java-context="true">
                    <connection-url>${env.DS_CONNECTION_URL}</connection-url>
                    <driver>${env.DS_DRIVER}</driver>
                </datasource>

我想做的,失败了

            <console-handler name="CONSOLE">
                <formatter>
                    <named-formatter name="${env.FORMATTER}"/>
                </formatter>
            </console-handler>

我也试过在没有引号的情况下开始。我创建了一个子 xml 元素,其值为 name 和环境变量,但也失败了。

我希望使用环境变量 FORMATTER 作为名称,但我在尝试启动时收到以下错误 jboss。

java.lang.IllegalArgumentException: Formatter "${env.FORMATTER}" is not found

named-formatter 属性不允许使用表达式。在大多数情况下,它没有多大意义,因为必须定义格式化程序并且不能有动态名称。

如果您查看 model description 文档,您可以了解哪些属性支持表达式。

如何将环境变量传递给其他格式化程序的属性?

<meta-data>
      <property name="ENV" value="${env.MY_ENVIRONMENT}"/>
</meta-data>

在 运行

时不工作
docker run -p 8081:9990 -p 8080:8080 -e MY_ENVIRONMENT="DEV" --name c1 c1img:1.1.2

我还在看

..."ENV":"${env.MY_ENVIRONMENT}"...