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に教えてください(クラスパス上に見つかったライブラリではなく、これは私の問題です)。
私は(WEB-INFに)のjboss-web.xmlのものが必要です <クラスローディングjava2ClassLoadingCompliance = "false" に> <ローダーリポジトリ> com.talecris:アーカイブ= flint.war <ローダーリポジトリ-config>の java2ParentDelegation = falseを ローダーリポジトリ-config>の ローダーリポジトリ> クラスローディング> –
MTR
これは我々がJBossの展開に何をしたかで、我々は削除JBOSS serのすべての休止状態のjarファイルそれをしたver。私たちのケースでは、私たちのアプリのハイバネーションバージョンはjbossバージョンと一致しませんでした。 –
最も簡単な方法は、jbossサーバーからhibernate jarsを削除し、jarsをclasspathに配置することです。それ以外の場合は、jboss-webを設定する必要があります –