首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在木偶中使用setm

如何在木偶中使用setm
EN

Stack Overflow用户
提问于 2015-11-12 04:32:00
回答 1查看 315关注 0票数 2

我想用木偶中的"modcluster.proxylist“设置命令来更改一个属性名()。下面的代码不起作用。任何帮助都是非常感谢的。

代码语言:javascript
复制
    augeas { "jboss_domain_config":
            incl    =>      "/opt/domain.xml",
            lens    =>      "Xml.lns",
            context =>      "/files/opt/domain.xml",
            onlyif  =>      "match /files/opt/domain.xml/domain/server-groups/*/system-properties/*/#attribute/name modcluster.proxylist"
            changes =>      "setm /files/opt/domain.xml/domain/server-groups server-group[.]/system-properties/property[.]/#attribute/value kumaran",
    }

下面是我想要更改的Source。

代码语言:javascript
复制
<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"/>
            <property name="modcluster.proxylist" value="192.168.79.77:7777" 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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-12 07:26:04

里面有很多问题。让我们一个接一个地对付他们:

  • 您提供的domain.xml代码似乎是错误的,因为您的木偶代码中没有domainserver-groups节点。我想你提供的代码还有两个层次:
  • 使用incllens时不需要设置lens,它是自动的
  • 您误解了setm的工作方式:第一个参数是Augeas将循环的节点集,第二个参数是要设置的子节点,第三个参数是值。
  • 您想用setm所做的改变本质上是幂等的,这里真的没有必要使用onlyif

结果如下:

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

https://stackoverflow.com/questions/33664488

复制
相关文章

相似问题

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