2011-01-08 8 views
3

私は2 EAR 1_EARと2_EAR(これらにはwebsearvicesと他のコードがあります)。今私はdatabase.Nowすべてのプロジェクト1_EAR、2_EAR、DB_prjと対話するために使用される1つのプロジェクトDB_prjがあります。それぞれのmeta-infフォルダにpersistence.xmlがあります.1_EARと2_EARにはweb.xmlがあります。 2_EARは私たちのチームによって開発された新しいプロジェクトです。 1_EArは正常に動作しています。現在、2_EARに配置されたクラスを使用してレコードを削除しようとすると、コードがハングしてタイムアウトします。レコードを削除するには、DB_prjからAPIを呼び出します。 1_EARと2_EARの共通点は次のとおりです。 1_EARのweb.xmlには、2_EARのweb.xmlには存在しない多くのものがあります。jpaで削除しようとすると並行性の問題が発生する

<persistence-context-ref> 
<persistence-context-ref-name>persistence/XYZPersist</persistence-context-ref-name> 
<persistence-unit-name>XYZPersist</persistence-unit-name> 
</persistence-context-ref> 

いずれかがこの問題を解決するには私を助けることはできますか?私はSomoneのはproblem with JNDI

+0

Doが、更新を読み込み、2_EARに細かい作業が保存されますか? – Jeremy

+0

を読んで、新しいworsk細かい作品をうまく埋め込む – akshay

+0

この問題を最後の5日間から解決しようとしています。 – akshay

答えて

0

@私のポストに答えた後、私の賭けは、あなたのEARの#2となる2_EARのweb.xmlに置かれていた上記のコードは、コンテキストを解決しますJNDI経由で、コンテキストはEAR#1、EAR#1クラスローダーとバインドされていました。したがって、永続性APIの奥深くのどこかでは、クラスが同じ名前とパッケージを持っていても、別のクラスローダによってロードされたため、おそらくClassCastExceptionが発生します。

私の指摘は、2つのEARがそれぞれの永続ユニットに対して異なるJNDI名を持つ必要があるということです。あなたの投稿から、彼らは同じように見えます。

(実際には、挿入/更新が正常に動作言及は私の仮説と矛盾するが、誰が知っている。)

関連する問題