如何使用plan.xml覆盖ejb-jar.xml设置?

时间:2013-07-03 09:22:34

标签: weblogic weblogic11g weblogic12c

我正在寻找一些帮助来创建一个plan.xml文件,我可以用它来覆盖我的ejb-jar.xml中的参数:

 <enterprise-beans>

  <session>

     <ejb-name>WorkerEJB</ejb-name>

     <resource-ref>

        <res-ref-name>WorkerDS</res-ref-name>

        <lookup-name>jdbc/WorkerDS</lookup-name>

     </resource-ref>  

  </session>

我想生成一个plan.xml,用(“jdbc / Oracle / WorkerDS”)替换 lookup-name (“jdbc / WorkerDS”)。
我已经尝试创建以下plan.xml但它不替换lookup-name属性(XPath表达式中的错误?):

 <variable-definition>
  <variable>
      <name>ExampleDS</name>
      <value>jdbc/Oracle/WorkerDS</value>
  </variable>
 </variable-definition>
  <module-override>
    <module-name>WorkerEJB</module-name>
    <module-type>jar</module-type>

  <module-descriptor external="false">
    <root-element>ejb-jar</root-element>
    <uri>META-INF/ejb-jar.xml</uri>
    <variable-assignment>
       <name>ExampleDS</name>
       <xpath>/ejb-jar/enterprise-beans/session/[ejb-name="WorkerEJB"]/resource-ref/lookup-name</xpath>
       <operation>replace</operation>
    </variable-assignment>
  </module-descriptor>

</module-override>

非常感谢 泰勒

1 个答案:

答案 0 :(得分:0)

<resource-ref>可以是0到很多,所以在你的情况下,尝试将[res-ref-name="WorkerDS"]放在xpath表达式中

<xpath>/ejb-jar/enterprise-beans/session/[ejb-name="WorkerEJB"]/resource-ref/[res-ref-name="WorkerDS"]/lookup-name</xpath>