jboss 下 应用如何动态加载新版jar包?

自己本身开发了一个公共的工具包  sutil.jar,这个工具包提供给多个应用使用。 应用部署在不同的服务器上。

应用服务器是jboss

 

现在每升级一次工sutil.jar 都需要在所有使用的应用中修改版本,并重启应用。

如何可以不重启应用,热部署sutil.jar    ?

 

 

[quote]我的意思是重新启动jboss 。[/quote]

重新启动jboss花费的时间太长。

因为jboss会监控部署的应用是否有改动,如果有改动,只需要重新部署一下应用就行了,这个时间是要短的多的。

建议你实践一下,把新应用(war包)拷贝到应用在jboss的部署目录,覆盖原来的war包,观察日志,可以发现这个部署过程时间是非常短的。

JBOSS是会自动检测部署的应用是否有改动,并重新部署。

一个方案是:当sutil.jar有改动时,对和该包相关的所有应用重新打包,并覆盖相应的应用,JBOSS自动检测到并重新部署。 好处是一个脚本就搞定,缺点是如果应用过多,打包时间可能比较慢。

[quote]jboss重新部署时,应用是不是不能持续提供服务的[/quote]

应该是不能的,比如说你的应用里面有个session bean, 重启应用时,容器会销毁这些session bean的实例,此时如果你的服务需要用到这些session bean,就没有办法。但是,这个时间通常很短,而且你可以选择大家不访问的时候(例如晚上)做这个事情。

[quote]那和重启应用应该是一样的了?[/quote]
你这里说的重启应用是什么概念?是指重启jboss,还是说通过控制台重新启动应用?