0

我对整个 Java EE EJB 概念相当陌生。我已经对 EJB 进行了研究,但还没有找到解决问题的方法。

案例场景:

我在 EAR 1 上有远程 EJB 1,在 EAR 2 上有远程 EJB 2,其中 EJB 2 引用了第三方库 (XXX.jar)。EJB1 中的方法将通过其 bean 接口调用 EJB2 中的方法,该 bean 接口将输入发送到第三方库中的方法进行进一步处理。结果将通过 EJB1 远程方法反向返回给 EJB1。

我的问题是当我将包含 EJB2 远程接口的类库(EJB2.jar)添加到 EJB2 项目的类路径中时。EJB1 项目也将包含第三方 jar,因为它位于 EJB2.jar 中。我怎样才能避免这种情况?第三方 jar 应该只添加到 EJB2 项目类路径中。

4

1 回答 1

0

我不确定你是如何打包所有东西的,但你不应该用 EJB 2 客户端 jar 打包第三方库/类。因此,从很少的信息中,我假设您有:

耳朵 1
|_lib
| |_EJB2Client.jar
|
|_EJB1.jar

耳朵 2
|_lib
| |_Thirdparty.jar
| |_EJB1Client.jar
|
|_EJB2.jar

所以我不认为你有问题 EAR1/EJB1 将引用第三方 jar。如果我正确理解了你的问题。听起来可疑的可能是你如何包装所有东西。如果您需要远程 EJB,您应该将所有客户端类放在一个 EJB-Client jar 中。另外请记住,如果您在同一个 JVM 中运行,则不需要使用远程 EJB。

于 2013-02-15T03:09:36.407 回答