2

在我目前工作的项目中,我们有大约 20 个不同的 EJB 2 JAR,它们用于多个(Swing-)客户端。

例子:

        customer-1.0.0.jar
          ^          ^
          |          |
   client-app-1    client-app-2

这些不同的客户端应用程序具有不同的发布周期,因此它们通常需要相同 EJB 的不同版本。同时部署这些 bean 当然不起作用,因为它们具有相同的 JNDI 名称。正如我对 EJB 3 的经验一样,我认为在每个应用程序 EAR 中部署 EJB 2 bean 可以解决问题,因为在 EJB 3 bean 中使用了 EAR JNDI 命名空间(例如 client-app-1/CustomerBean、client-app- 2/CustomerBean 等)。但是,对于 EJB 2,情况似乎并非如此。

现在,有没有办法在 EJB 2 JNDI 名称前面加上它们所在的 EAR 名称空间?我知道将那些(遗留)bean 迁移到 EJB 3 将是一个答案,但我们目前没有时间这样做。

如果答案取决于应用服务器:我们使用的是 JBoss 4.2.3.GA。

4

0 回答 0