2008-10-29 29 views
1

我有一个Java应用程序,与EJB的工作,但是如果:是否有更新使用EJB的应用程序的方法?

  1. 的EJB被更新,应用程序被打破了。
  2. 应用服务器已更新,应用已损坏。

如果没有人为干预,是否有更新客户端应用服务器和bean的客户端jar的方法?

如果首选方法取决于应用程序服务器,则假定jboss。

回答

0

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

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

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

一些技巧可能(如在服务器上放置苛刻到client.jar的具体地点由客户端抢先下载,然后使用类加载器使用),但这些都是。比已有的练习更多的黑客技巧

至于JBoss的具体细节,我没有任何资料

0

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

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

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

+0

对于我们有两个接口。一个使用我们的序列化对象并限制只使用java对象的对象。 – TJR 2009-02-20 17:11:30

相关问题