2011-12-08 16 views
6

JBossにデプロイするときにOracle DBに問題があります。 Tomcatにデプロイするとうまくいきます - 問題ありません。問題はJBossに付属している競合するライブラリに関係していると思われる。私は(休止状態を使用して)データベースを照会しようとすると、私は次を得る:JBoss Hibernate Library Conflict

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: [email protected]{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の中で実行中のこのような問題。

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

しかし、助けていないようです:私はこれが含まれ、私のWebrootの中のjboss-クラスロードファイルを設定しています。不思議なことに、2つの異なる休止状態構成(Oracle 11iとOracle 8i)で2つの異なるデータベースに接続しています。 Oracle 11の接続は問題を引き起こすことはありません...この問題を引き起こす唯一の8i接続です。 11接続は正常に動作します。

なぜこのようなことが起こるのかわかりませんが、JBossにはOracle 11の方言ライブラリではなく、Oracle 8のHibernateの方言ライブラリが含まれているのでしょうか?いずれにしても、私のパッケージ化されたライブラリを使用するようにJBossに教えてください(クラスパス上に見つかったライブラリではなく、これは私の問題です)。

+0

私は(WEB-INFに)のjboss-web.xmlのものが必要です <クラスローディングjava2ClassLoadingCompliance = "false" に> <ローダーリポジトリ> com.talecris:アーカイブ= flint.war <ローダーリポジトリ-config>の java2ParentDelegation = falseを MTR

+0

これは我々がJBossの展開に何をしたかで、我々は削除JBOSS serのすべての休止状態のjarファイルそれをしたver。私たちのケースでは、私たちのアプリのハイバネーションバージョンはjbossバージョンと一致しませんでした。 –

+0

最も簡単な方法は、jbossサーバーからhibernate jarsを削除し、jarsをclasspathに配置することです。それ以外の場合は、jboss-webを設定する必要があります –

答えて

0

あなたの問題の根本原因はhibernate-validatorであると思います。mavenを使用している場合は、以下の依存関係を使用することができます:hibernate-validator-legacyを追加する必要があります。

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator-legacy</artifactId> 
     <version>4.0.2.GA</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>hibernate-commons-annotations</artifactId> 
       <groupId>org.hibernate</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency>