Wildfly CLI - 禁用环境变量解析?即将未解析的变量写入配置
Wildfly CLI - disable environment variable resolution? i.e. write unresolved variable to config
我正在尝试使用 JBoss CLI 修改 运行 Wildfly(在 Docker 内)的配置。我需要做的一件事是
data-source add --connection-url=jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:3306/xplore (...)
我需要 standalone.xml 中的结果配置来真正包含
<connection-url>jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:3306/xplore</connection-url>
DB_PORT_3306_TCP_ADDR 是一个变量,Wildfly 将在重新启动时对其进行解析。当我使用 CLI 时它不存在。
问题是 CLI 试图在我的 CLI 会话期间解决它(但失败了)(而不是将其作为纯字符串注入),导致类似错误的输出,甚至
<connection-url>$</connection-url>
我试图通过添加“...”和“...”来解决这个问题,将 $ 转义为 \$,删除括号,并在脚本中定义一个包含我的字符串的变量并插入该变量(still 得到解决)。我已经查阅了这方面的文档,虽然有一个命令 resolve-expression(),但没有逆向,没有设置,什么都没有。似乎无法阻止解决方案的发生。
如何通过 CLI 将未解析的表达式插入到我的配置中?
答案是发出这个命令:
data-source add --connection-url=jdbc:mysql://${DB_PORT_3306_TCP_ADDR:}:3306/xplore (...)
在 ADDR 后加上 :。这显然解决了解析错误,因为它现在默认为一个空值,并且它实际上以某种方式导致写入字符串值本身。事实证明,解析我的变量的不是 CLI,而是服务器本身。
真正的解决方案是停止会话,修改服务器设置并完全禁用变量解析,然后启动一个新会话。
我正在尝试使用 JBoss CLI 修改 运行 Wildfly(在 Docker 内)的配置。我需要做的一件事是
data-source add --connection-url=jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:3306/xplore (...)
我需要 standalone.xml 中的结果配置来真正包含
<connection-url>jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:3306/xplore</connection-url>
DB_PORT_3306_TCP_ADDR 是一个变量,Wildfly 将在重新启动时对其进行解析。当我使用 CLI 时它不存在。
问题是 CLI 试图在我的 CLI 会话期间解决它(但失败了)(而不是将其作为纯字符串注入),导致类似错误的输出,甚至
<connection-url>$</connection-url>
我试图通过添加“...”和“...”来解决这个问题,将 $ 转义为 \$,删除括号,并在脚本中定义一个包含我的字符串的变量并插入该变量(still 得到解决)。我已经查阅了这方面的文档,虽然有一个命令 resolve-expression(),但没有逆向,没有设置,什么都没有。似乎无法阻止解决方案的发生。
如何通过 CLI 将未解析的表达式插入到我的配置中?
答案是发出这个命令:
data-source add --connection-url=jdbc:mysql://${DB_PORT_3306_TCP_ADDR:}:3306/xplore (...)
在 ADDR 后加上 :。这显然解决了解析错误,因为它现在默认为一个空值,并且它实际上以某种方式导致写入字符串值本身。事实证明,解析我的变量的不是 CLI,而是服务器本身。
真正的解决方案是停止会话,修改服务器设置并完全禁用变量解析,然后启动一个新会话。