2012-08-01 98 views
1

我有一个Java EE Web应用程序,该应用程序在2节点集群上运行WAS 7.0.此Web应用程序具有多个jar文件,其中每个jar文件都包含一个实用程序列表。我可能在将来添加 jar文件到这个Web应用程序。 当我们向它添加新的罐子时,我们不希望这个Web应用程序停机。向Web应用程序添加新的jar文件而不重新启动它

是否有可能增加新的jar文件的Web应用程序,而不需要重启?这些更改是否会立即生效?

如何更新其已经由类加载加载现有的jar文件?有没有可能做到这一点,而无需重新启动它?

我读到在WAS Hot deployment一种叫。他们提到,Hot Deployment在Solaris和HP-UX操作系统上不起作用。

可否请你建议解决这个问题的最佳途径?

回答

2

是否可以将新的jar文件添加到Web应用程序中而不需要 重新启动?这些更改是否会立即生效?

不,无法在不重新启动应用程序的情况下向类加载器添加新的JAR。即使您创建一个空的JAR并稍后进行更换,也无法使更改在0中断时生效:至少该模块仍将被重新启动。

如何更新已加载的 类加载的现有jar文件?有没有可能做到这一点,而无需重新启动它?

你不能,这是不可能的。

我读了一些关于WAS中热部署的内容。他们提到 ,Hot Deployment在Solaris和HP-UX操作系统上不起作用。

热部署确实允许类替换(但不是整个JAR),并且停机时间为0。

其他选择:

  • 使用路由技术(HTTP代理,WVE),和波纹重新启动应用程序(即,在时间重新启动一个集群成员上的应用程序,并路由中间流量另一台服务器在此期间)。
  • 使用类似JRebel的东西。我的理解是,它主要针对开发环境,但也可能支持生产。
相关问题