2009-12-21 50 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