ローカルのデータベースにアクセスし、JBossAPサーバーでリモートEJBサービスを呼び出すプロジェクトを開発しています。
したがって、hibernateにはhibernate-release-4.1.5.Finalを使用し、リモートEJBサービスを呼び出すにはjbossall-client.jarを使用します。
ただし、jndiContext.lookup( "xxx")メソッドを実行すると、例外が発生し、メッセージは次のように表示されます。
Exception in thread "main" java.lang.NoSuchFieldError: TRACE
at org.jboss.logging.Log4jLogger.translate(Log4jLogger.java:64)
at org.jboss.logging.Log4jLogger.isEnabled(Log4jLogger.java:39)
at org.jboss.logging.Logger.isTraceEnabled(Logger.java:98)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:623)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:590)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
Hibernateフレームワークのjboss-logging-3.1.0.GA.jarがjbossall-client.jarと競合することを確認しました。
このjarを除外すると、EJBは正常に機能しますが、休止状態の部分は機能しません。
この例外がjboss-logging-3.1.0.GA.jarのLog4Jとjbossall-client.jarの1つのバージョンの違いに起因するかどうかは好奇心が強いです。
私がプロジェクトに入れたjarファイルは次のとおりです。
1.antlr-2.7.7.jar
2.dom4j-1.6.1.jar
3.hibernate-commons-annotations-4.0.1.Final.jar
4.hibernate-core-4.1.5.Final.jar
5.hibernate- jpa-2.0-api-1.0.1.Final.jar
6.javassist-3.15.0-GA.jar
7.jboss-logging-3.1.0.GA.jar
8.jboss-transaction-api_1.1_spec-1.0.0 .Final.jar
9.jbossall-client.jar
JDK:jdk1.6.0_25
誰かが私に提案や解決策を教えてもらえますか?ご不明な点がございましたら、お気軽にお問い合わせください。
よろしくお願いします。