2011-04-12 12 views
0

EARに複数のMDBがあるEARがあります。各MDB jarには独自のアプリケーションコンテキストがあります。メッセージが到着すると、適切なMDBが初期化されたことをログから見ることができますが、別のMDBからアプリケーションコンテキストを取得します。EARで間違ったSpring AppContextが見つかりました

それぞれのEJBには独自のクラスローダーが必要だと思いました。それはそうではないようだ。どのようにして各MDBに独自のアプリケーションコンテキストをロードするように強制できますか?私は、WebSphere 7を使用しています

マイプロジェクト構造は次のとおりです。

META-INF/ 
META-INF/MANIFEST.MF 
topicreader-ejb-mdb01.jar 
topicreader-ejb-mdb02.jar 
lib/ 
lib/3rdpartylib01.jar 
lib/3rdpartylib02.jar 
... etc 

MDBのjarファイルの内容は次のとおりです。

applicationContext.xml 
com/mycompany/ ... (classes) 
META-INF/ejb-jar.xml 
META-INF/MANIFEST.MF 

答えて

0

では、あなたがのためのクラスローダの順序を変更することができWAS WARs !!、私はあなたがジャーのために同じことをすることができることを願っています。通常、クラスローダーの順序は「親の最初」です。 「親の最後」を試してください。

+0

ありがとう、私はちょうどここでそれを見ていた:http://stackoverflow.com/questions/813202/can-i-set-the-classloader-policy-for-websphere-in-the-ibm-web -bnd-xmi-file – Synesso

+0

はい、EJB jarsに対して変更できます。設定可能なデプロイ可能なタイプの完全なリストは、{base}¥web¥configDocs¥packages¥appdeployment¥DeployedObject.htmlに記載されており、EJBModuleDeployment – Synesso