首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Wildfly的standalone.xml配置文件中引用环境变量?

如何在Wildfly的standalone.xml配置文件中引用环境变量?
EN

Stack Overflow用户
提问于 2018-12-03 22:15:33
回答 2查看 8.5K关注 0票数 2

我在Mac上使用Wildfly 11。在我的~/..profile文件中,我定义了几个环境变量,我可以在我的控制台上看到.

代码语言:javascript
复制
localhost:bin davea$ echo $DB_USERNAME
user1
localhost:bin davea$ echo $DB_PASSWORD
pwd1

在我的$WILDFLY_HOME/standalone/configuration/standalone.xml文件中,我试图引用这些变量.

代码语言:javascript
复制
            <datasource jndi-name="java:jboss/datasources/MySqlDS" pool-name="MySqlDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:mysql://localhost:3306/my_db?serverTimezone=CST&amp;autoReconnect=true&amp;useSSL=false</connection-url>
                <driver>mysql</driver>
                <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                <pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>100</max-pool-size>
                    <prefill>true</prefill>
                </pool>
                <security>
                    <user-name>${env.DB_USERNAME}</user-name>
                    <password>${env.DB_PASSWORD}</password>
                </security>

但当我启动我的野蝇实例时,我会发现这个错误.

代码语言:javascript
复制
14:35:16,817 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 55) WFLYUT0014: Creating file handler for path '/opt/wildfly-10.0.0.CR2/welcome-content' with options [directory-listing: 'false', follow-symlink: 'false', case-sensitive: 'true', safe-symlink-paths: '[]']
14:35:16,846 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 33) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("data-source" => "MySqlDS")
]) - failure description: "WFLYCTL0211: Cannot resolve expression '${env.DB_USERNAME}'"
14:35:16,855 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) WFLYUT0012: Started server default-server.

在野生苍蝇中引用环境变量的正确方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-10 17:23:14

在Wildfly配置中有两种方法可以引用环境变量,我认为第二个选项将解决您的问题。

  1. 在启动通配符服务器时,您可以导出该变量并在命令行传递它。 $ export =/home/jboss/log$ ./standalone.sh -DlogPath=LOGPATH。。。。
  2. 另一种方法是使用env.前缀直接访问它们。 。。。。 请注意,您需要编辑以下文件“$WILDFLY_HOME/bin/JBos-cli.xml”,并需要将以下属性设置为"true“(默认情况下为false)

尝试将这些属性添加到standalone.xml文件中。

代码语言:javascript
复制
<subsystem xmlns="urn:jboss:domain:ee:1.1">
     <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
     <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
</subsystem>
票数 2
EN

Stack Overflow用户

发布于 2018-12-04 05:13:20

以下是我在Fedora所做的工作:

In ~/..bashrc添加了export DB_USERNAME=user1

另一种方法可以是在启动通配符时指定属性文件。

./standalone.sh --properties=mypropertiesfile.properties

但是,必须将env从standalone.xml:${DB_USERNAME}中删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53602772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档