2011-04-12 30 views
0

我有一個包含多個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罐子的內容是:

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

回答

0

在是你可以更改的類加載器順序WARs !!,我希望你能爲罐子做同樣的事情。通常的類加載器命令它是「父母第一」。嘗試「最後的父母」。

+0

謝謝,我只是在這裏看看:http://stackoverflow.com/questions/813202/can-i-set-the-classloader-policy-for-websphere-in-the-ibm-web -bnd-xmi-file – Synesso 2011-04-12 07:08:49

+0

是的,你可以改變它的EJB罐子。 {base} \ web \ configDocs \ packages \ appdeployment \ DeployedObject.html中記錄了可配置的可部署類型的完整列表,其中包括EJBModuleDeployment – Synesso 2011-04-12 07:51:46