1

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>

0 Answers0