Источник данных JNDI: переход с Weblogic на Jboss 7 - PullRequest
0 голосов
/ 18 января 2019

Я перенесу свое приложение Weblogic на JBoss 7, и мне нужно, чтобы мой код миграции мог быть запущен на обоих серверах. Имя JNDI источника данных WebLogic:

JDBC / powds

JNDI-имя источника данных Jboss:

Java: / powds

Я уже знал, что синтаксис JNDI в JBOSS 7 является другим и начинается с префикса "java:". В приложении WebLogic я использую имя JNDI в разных файлах, таких как web.xml и persistance.xml. В коде я использую:

static final String dataSourceName = "jdbc / powds";

Я прочитал эту статью Путь JNDI Tomcat против 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>
...