1

我正在寻找一些帮助来创建一个 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/WorkerDS”)替换为(“jdbc/Oracle/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>

非常感谢泰勒

4

1 回答 1

0

<resource-ref>可以是零到多,所以在你的情况下,尝试[res-ref-name="WorkerDS"]输入 xpath 表达式

<xpath>/ejb-jar/enterprise-beans/session/[ejb-name="WorkerEJB"]/resource-ref/[res-ref-name="WorkerDS"]/lookup-name</xpath>
于 2013-07-15T19:05:28.430 回答