JNDI数据源:从Weblogic迁移到Jboss 7

时间:2019-01-18 11:14:15

标签: java jboss migration weblogic

我将Weblogic应用程序迁移到JBoss 7,并且需要我的迁移代码在这两个服务器上都可运行。 WebLogic数据源的JNDI名称为:

  

jdbc / powds

Jboss数据源的JNDI名称为:

  

java:/ powds

我已经知道JBOSS 7中的JNDI语法是另一种,并且以前缀“ java:”开头。在WebLogic应用程序中,我在不同的文件(例如web.xml和persistance.xml)中使用JNDI名称。 在代码中,我使用:

  

静态最终字符串dataSourceName =“ jdbc / powds”;

我阅读了本文JNDI path Tomcat vs. Jboss,并尝试配置我的xmls描述符文件。

最后,我遇到了未安装的必需服务错误:“ => [” jboss.naming.context.java.jdbc.powds“]。

如何避免此错误?如何配置persistance.xml文件以使用不同的JNDI名称取决于运行应用程序服务器。

我的web.xml文件是:

   <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>

我的jboss-web.xml文件是:

<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>

我的weblogic.xml文件是:

<resource-description>
    <res-ref-name>jdbc/powds</res-ref-name>
    <jndi-name>jdbc/powds</jndi-name>
  </resource-description>

我的weblogic.xml文件是:

  <resource-description>
    <res-ref-name>jdbc/powds</res-ref-name>
    <jndi-name>jdbc/powds</jndi-name>
  </resource-description>

我的persistance.xml文件是:

<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 个答案:

没有答案