Wildfly CLI“resolve-parameter-values”无法按预期工作

时间:2017-06-07 11:59:29

标签: maven jboss wildfly

我正在使用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插件错误?

2 个答案:

答案 0 :(得分:0)

这有效:

$${jboss.server.config.dir}

有人可以发布链接到记录的位置吗? :)

答案 1 :(得分:0)

这种行为不是由Wildfly本身引起的,而是由Maven Wildfly插件引起的。此插件不会调用命令行本机管理界面,因此它会忽略<resolve-parameter-values>值。它使用jboss客户端java api,它似乎执行表达式评估 - 请参阅CommandExecutor.java#executeCommands。如果您尝试直接通过jboss-cli.sh执行cli命令,它将按预期工作,即变量不会被插值。