<resource-ref>
can be zero to many, so in your case, try to put [res-ref-name="WorkerDS"]
in the xpath expression
<xpath>/ejb-jar/enterprise-beans/session/[ejb-name="WorkerEJB"]/resource-ref/[res-ref-name="WorkerDS"]/lookup-name</xpath>
Frage
I'm looking for a little help to create a plan.xml file which I can use to override a parameter in my 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>
I'd like to generate a plan.xml which replaces the lookup-name ("jdbc/WorkerDS") with ("jdbc/Oracle/WorkerDS").
I have tried creating the following plan.xml but it does not replace the lookup-name attribute (something wrong in the XPath expression??):
<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>
Thanks a lot Tyler
Lösung
<resource-ref>
can be zero to many, so in your case, try to put [res-ref-name="WorkerDS"]
in the xpath expression
<xpath>/ejb-jar/enterprise-beans/session/[ejb-name="WorkerEJB"]/resource-ref/[res-ref-name="WorkerDS"]/lookup-name</xpath>