在 Wildfly OFFLINE CLI 中使用文字变量
Using literal variables in a Wildfly OFFLINE CLI
我想使用离线 Wildfly CLI 添加系统属性
问题是这个值应该是一个变量
这是期望的结果:
<property name="user.country" value="${country}"/>
问题是 CLI 尝试解析变量
[disconnected /] embed-server
[standalone@embedded /] /system-property=user.country:add(value="${country}")
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0211: Cannot resolve expression '${country}'",
"rolled-back" => true
}
我试图用“$$”或“\$”转义“$”,但没有成功。
或者更确切地说,通过“$$”我得到了
<property name="user.language" value="$${countrylowercase}"/>
如果我 运行 使用连接 CLI 重试服务器,它会正常工作。
如何离线执行此操作?
作为解决方法,我正在独立运行 sed 以将“$${”替换为“${”,但它不是很干净...
解决方案是使用这样的属性文件:
cat cli.property
country=$country
countrylowercase=$countrylowercase
cat cli.commands
embed-server
/system-property=user.language:add(value="${countrylowercase}")
/system-property=user.region:add(value="${country}")
/system-property=user.country:add(value="${country}")
stop-embedded-server
$JBOSS_HOME/bin/jboss-cli.sh --properties=./cli.property --file=./cli.commands
{"outcome" => "success"}
{"outcome" => "success"}
{"outcome" => "success"}
注意语法很重要,因为使用嵌入式模式,以下格式也会失败
cat cli.property
country=${country}
countrylowercase=${countrylowercase}
我想使用离线 Wildfly CLI 添加系统属性
问题是这个值应该是一个变量
这是期望的结果:
<property name="user.country" value="${country}"/>
问题是 CLI 尝试解析变量
[disconnected /] embed-server
[standalone@embedded /] /system-property=user.country:add(value="${country}")
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0211: Cannot resolve expression '${country}'",
"rolled-back" => true
}
我试图用“$$”或“\$”转义“$”,但没有成功。
或者更确切地说,通过“$$”我得到了
<property name="user.language" value="$${countrylowercase}"/>
如果我 运行 使用连接 CLI 重试服务器,它会正常工作。
如何离线执行此操作?
作为解决方法,我正在独立运行 sed 以将“$${”替换为“${”,但它不是很干净...
解决方案是使用这样的属性文件:
cat cli.property
country=$country
countrylowercase=$countrylowercase
cat cli.commands
embed-server
/system-property=user.language:add(value="${countrylowercase}")
/system-property=user.region:add(value="${country}")
/system-property=user.country:add(value="${country}")
stop-embedded-server
$JBOSS_HOME/bin/jboss-cli.sh --properties=./cli.property --file=./cli.commands
{"outcome" => "success"}
{"outcome" => "success"}
{"outcome" => "success"}
注意语法很重要,因为使用嵌入式模式,以下格式也会失败
cat cli.property
country=${country}
countrylowercase=${countrylowercase}