【问题标题】:How to make use of variables in Wildfly configuration file?如何使用 Wildfly 配置文件中的变量?
【发布时间】:2016-07-31 08:15:39
【问题描述】:

我正在为所有服务器环境设置一个通用的standalone-full.xml 文件,因此需要为数据库 URL(等)设置变量,而不是对它们进行硬编码。

配置文件中的一个这样的部分可能如下所示:

<datasource jta="true" jndi-name="java:/somename" pool-name="somename" enabled="true" use-ccm="false">
                <connection-url>jdbc:mysql://${SOMENAME_DB_URL}</connection-url>
                <driver-class>com.mysql.jdbc.Driver</driver-class>
                <driver>mysql</driver>
                <pool>
                    <min-pool-size>5</min-pool-size>
                    <max-pool-size>15</max-pool-size>
                </pool>
                <security>
                    <user-name>${DB_USERNAME}</user-name>
                    <password>${DB_PASSWORD}</password>
                </security>
                <validation>
                    <validate-on-match>false</validate-on-match>
                    <background-validation>false</background-validation>
                </validation>
                <statement>
                    <share-prepared-statements>false</share-prepared-statements>
                </statement>
            </datasource>

但是,在使用此配置文件启动服务器时,它只会为所有此类部分引发“无法解析表达式”错误。

我尝试使用set DB_USERNAME=mydbusername 将变量放入/etc/environment 以及/bin.jbossclirc 文件中,但无济于事。

如您所见,我在这里有点摸不着头脑,因为我无法找到任何有关如何执行此操作的适当文档。我什至不确定这是否真的可能。非常感谢任何帮助。

【问题讨论】:

标签: server environment-variables wildfly devops wildfly-10


【解决方案1】:

覆盖 Wildfly 的标准属性是否以这种方式工作? 例如jboss.http.port 来自standalone.xml

   <socket-binding name="http" port="${jboss.http.port:8080}"/> 

一种可能是致电standalone.sh -Djboss.http.port=8081。然后,Wildfly http 端口应该在8081

它也应该适用于您自己的变量。

【讨论】:

    【解决方案2】:

    您应该使用 Java 系统属性而不是环境变量。

    您也可以将这些属性作为-D 参数传递给standalone.sh,例如

    bin/standalone.sh -DDB_USERNAME=me -DDB_PASSWORD=secret
    

    或者,您可以在属性文件中定义属性,然后使用 -P 选项将其传递给启动脚本:

    bin/standalone.sh -P database.properties
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      相关资源
      最近更新 更多