JBoss Hibernate Library Conflict

У меня проблема с ударом по Oracle DB при развертывании на JBoss. Развертывание на Tomcat работает нормально - никаких проблем. Я подозреваю, что проблема связана с конфликтующей библиотекой, которая поставляется с JBoss. Когда я пытаюсь запросить базу данных (используя Hibernate), я получаю следующее:

2011-12-08 08:02:53,640 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/xxxx].[xxxx]] (http-0.0.0.0-8080-9) Servlet.service() for servlet xxxx threw exception
java.lang.IllegalStateException: BaseClassLoader@50d81341{vfszip:/opt/jboss/jboss-eap-5.1/jboss-as/server/web/deploy/xxxxx.war/} classLoader is not connected to a domain (probably undeployed?) for class oracle.sql.DATE
        at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:857)
        at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:502)
        at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:447)

Опять же, при запуске в Tomcat такой проблемы нет. Я создал файл jboss-classloading в моем webroot, который содержит следующее:

<classloading xmlns="urn:jboss:classloading:1.0"
    parent-first="false" domain="DefaultDomain" top-level-classloader="true"
    parent-domain="Ignored" export-all="NON_EMPTY" import-all="true" />

Но это, похоже, не помогает. Странно, но я подключаюсь к двум разным базам данных с двумя разными конфигурациями hibernate: Oracle 11i и Oracle 8i. Подключение к Oracle 11 никогда не вызывает проблем... Только соединение с 8i вызывает эту проблему. Соединение 11 работает просто отлично.

Я понятия не имею, почему это происходит, но, возможно, JBoss содержит Oracle 8 Hibernate dialect lib, а не Oracle 11 dialect lib? В любом случае, как мне сказать JBoss использовать мои упакованные библиотеки, а не те, которые находятся в его classpath (предполагая, что это моя проблема)?

6
задан Mukul Goel 1 December 2012 в 06:42
поделиться