2009-12-21 112 views
0

假設我有兩個ear文件和一個.jar文件,並帶有兩個EAR使用的EJB。我想這樣做是因爲在某些情況下,我可能會將一個耳朵部署到應用服務器,但在另一些情況下,我可能想要部署這兩個耳朵,並且我不想爲每個方案創建不同的ear文件。J2EE包裝:兩個耳朵和一個共享EJB

如何最好地封裝EJB的「客戶端」類?使用JBoss我可以把它們放在任何地方,它似乎工作,因爲它有一個共享類加載器。但我不知道官方的做法是什麼?

回答

1

把普通的ejb jar文件放在雙耳中。 EAR應該是獨立的pacakage,通過JNDI進行外部設置

當談到EAR的時候,當你試圖「節省空間」或者「幹掉」jar文件之間時,除了classloader問題之外,他們。

+0

如果我將雙耳部署到同一個應用服務器,那麼其中一個會失敗,對吧?因爲它會嘗試加載同一個EJB兩次?但似乎我可能無法真正按照「便攜和批准」的方式做我想做的事情。 – Dave 2009-12-21 17:29:38

+0

@Dave:他們不會衝突,他們會加載不同的類加載器,並將其放在JNDI樹的不同部分。相信應用服務器,這是你的朋友:) – skaffman 2009-12-21 17:32:33