I migrate my Weblogic application to JBoss 7 and I need that my migration code could be runnable on these both servers. JNDI name of WebLogic datasource is :
jdbc/powds
JNDI name of Jboss datasource is :
java:/powds
I've already known that JNDI syntax in JBOSS 7 is another and starts with the prefix "java:". In WebLogic application I use JNDI name in different files like web.xml and persistance.xml. In code I use :
static final String dataSourceName = "jdbc/powds";
I read this article JNDI path Tomcat vs. Jboss and trying to configure my xmls descriptors files.
So finnaly I have error Required services that are not installed:" => ["jboss.naming.context.java.jdbc.powds"].
How I can avoid this error? How I can configure persistance.xml file to use different JNDI names depends on running the application server.
my web.xml file is:
<resource-ref>
<res-ref-name>jdbc/powds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
my jboss-web.xml file is:
<resource-ref>
<res-ref-name>jdbc/powds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/powds</jndi-name>
</resource-ref>
my weblogic.xml file is:
<resource-description>
<res-ref-name>jdbc/powds</res-ref-name>
<jndi-name>jdbc/powds</jndi-name>
</resource-description>
my weblogic.xml file is:
<resource-description>
<res-ref-name>jdbc/powds</res-ref-name>
<jndi-name>jdbc/powds</jndi-name>
</resource-description>
my persistance.xml file is:
<persistence-unit name="powpu" transaction-type="JTA" >
<jta-data-source>jdbc/powds</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
</persistence-unit>