我正在使用JBoss EAP 7.0.5,我想在standalone-ha.xml中使用内部配置值,如:
<property name="javax.net.ssl.trustStore" value="${jboss.server.config.dir}/stores/trustCA.jks"/>
我使用了疯狂的maven插件1.2.0 Alpha 5和CLI命令添加了这个值:
/system-property=javax.net.ssl.trustStore:add(value="${jboss.server.config.dir}/stores/trustCA.jks")
可悲的是,它没有按预期进行:
<property name="javax.net.ssl.trustStore" value="/stores/trustCA.jks"/>
jboss-cli.xml看起来像这样:
<?xml version='1.0' encoding='UTF-8'?>
<!--
WildFly Command-line Interface configuration.
-->
<jboss-cli xmlns="urn:jboss:cli:2.0">
<default-protocol use-legacy-override="true">http-remoting</default-protocol>
<!-- The default controller to connect to when 'connect' command is executed w/o arguments -->
<default-controller>
<protocol>http-remoting</protocol>
<host>localhost</host>
<port>9990</port>
</default-controller>
<!-- Example controller alias named 'Test'
<controllers>
<controller name="Test">
<protocol>http-remoting</protocol>
<host>localhost</host>
<port>9990</port>
</controller>
</controllers>
-->
<validate-operation-requests>true</validate-operation-requests>
<!-- Command and operation history log configuration -->
<history>
<enabled>true</enabled>
<file-name>.jboss-cli-history</file-name>
<file-dir>${user.home}</file-dir>
<max-size>500</max-size>
</history>
<!-- whether to resolve system properties specified as command argument or operation parameter values
in the CLI VM before sending the operation requests to the controller -->
<resolve-parameter-values>false</resolve-parameter-values>
<!-- Whether to write info and error messages to the terminal output -->
<silent>false</silent>
<!-- Whether to filter out commands and attributes based on user's permissions -->
<access-control>false</access-control>
</jboss-cli>
我也尝试使用这样的变量,它仍然得到解决:
${jboss.server.config.dir:}
我只是错误地使用它,或者这可能是CLI或maven插件错误?
答案 0 :(得分:0)
这有效:
$${jboss.server.config.dir}
有人可以发布链接到记录的位置吗? :)
答案 1 :(得分:0)
这种行为不是由Wildfly本身引起的,而是由Maven Wildfly插件引起的。此插件不会调用命令行本机管理界面,因此它会忽略<resolve-parameter-values>
值。它使用jboss客户端java api,它似乎执行表达式评估 - 请参阅CommandExecutor.java#executeCommands。如果您尝试直接通过jboss-cli.sh
执行cli命令,它将按预期工作,即变量不会被插值。