1

我有一个适用于 EJB 的 java 应用程序,但是如果:

  1. EJB 得到更新,应用程序损坏。
  2. 应用服务器已更新,应用已损坏。

在没有人工参与的情况下,是否有一种首选方法来更新应用服务器和 bean 的客户端 jar?

如果首选方法取决于应用服务器,则假设为 jboss。

4

2 回答 2

0

这就是人们迁移到 Web 服务的原因之一 :) 或者也使用 JMS。

确实,如果您的应用服务器升​​级或供应商更改,您的旧/外国存根将无法在服务器端使用新代码。:-(

还记得 EJB 声明应该有一个应用程序部署者角色吗?由他为客户端应用程序准备 client.jar 并分发它(或者可能是应用程序打包器?没关系;关键是:这不是自动操作)。

一些技巧可能是可能的(例如要求将 client.jar 放在服务器上的特定位置以先由客户端下载,然后使用类加载器来使用),但这些技巧比既定做法更多。

至于 JBoss 的细节,我没有任何信息。

于 2008-10-29T23:54:28.650 回答
0

你的基本问题是,如果一个组件之间的接口合同发生变化,它会破坏另一个组件。这不是仅限于应用程序和 EJB 的问题,它只是编译器不安全。

我所知道的唯一自动化方法是以使 App 项目依赖于 EJB 项目(在 IDE 和构建文件中)的方式设置您的项目,从而为您提供编译器检查。并将它们一起部署为 EAR。

如果这不是一个选项,并且它们必须单独部署,那么您的 EJB 开发人员需要在他的游戏中保持向后兼容的接口完好无损。

于 2008-10-30T18:50:34.970 回答