首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一定条件下使用Setm

如何在一定条件下使用Setm
EN

Stack Overflow用户
提问于 2016-02-15 07:48:45
回答 1查看 178关注 0票数 0

我想用setm更改一个属性名( "modcluster.proxylist“),并在木偶中使用约束。下面的代码不检查我的约束。任何帮助都是非常感谢的。

下面是我想要更改的Source。

约束:在下面的中,两个组没有属性名。在这些组中,不应该应用更改。

代码语言:javascript
复制
<server-groups>
    <server-group name="ServiceGroupOne" profile="full-ha">
        <system-properties>
            <property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
            <property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
            <property name="modcluster.lbgroup" value="SearchGroupOne" boot-time="true"/>
       </system-properties>
    </server-group>
    <server-group name="ServiceGroupTwo" profile="full-ha">
        <system-properties>
            <property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
            <property name="modcluster.lbgroup" value="SearchGroupTwo" boot-time="true"/>
        </system-properties>
    </server-group>
    <server-group name="ServiceGroupThree" profile="full-ha">
        <system-properties>
            <property name="modcluster.lbgroup" value="CommonSearchGroup" boot-time="true"/>
            <property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
            <property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
        </system-properties>
    </server-group>
    <server-group name="ServiceGroupFour" profile="full-ha">
    </server-group>
</server-groups>

Augeas代码:

下面的代码编辑所有服务器组。它还插入了我们没有属性( modcluster.proxylist )的第二个和第四个服务器组。

代码语言:javascript
复制
augeas { "jboss_domain_config":
    incl    =>      "${dc_home}/domain/configuration/domain.xml",
    lens    =>      "Xml.lns",
    changes =>      "setm /files/${dc_home}/domain/configuration/domain.xml/domain/server-groups/server-group system-properties/property[#attribute/name='modcluster.proxylist']/#attribute/value ${proxylist}",
    require => File["${dc_home}/domain/configuration/domain.xml"],
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-15 10:18:51

总结你的需要,你想:

  • 选择已经存在的modcluster.proxylist属性
  • ${proxylist}替换它们的值

这应该可以做到:

代码语言:javascript
复制
augeas { "jboss_domain_config":
    incl    =>  "${dc_home}/domain/configuration/domain.xml",
    lens    =>  "Xml.lns",
    changes =>  "setm domain/server-groups/server-group/system-properties/property/#attribute[name='modcluster.proxylist'] value ${proxylist}",
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35403992

复制
相关文章

相似问题

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