网站升级如何做到不需要重启tomcat?

J2EE 码拜 7年前 (2015-05-10) 926次浏览 0个评论

    在网上服务器发布了一个javaweb网站,网站需要进行新功能更新!

      此时更新网站都需要停止tomcat,然后更新项目完在重新启动!

      但是有个问题一旦停止了服务器的话,用户就不能访问网站了!

      如何做到在不影响用户操作的情况进行网站升级,在更新的过程中用户还是可以正常操作!

       或者如何在升级网站的时候提示用户网站正在升级中

        tomcat停止了将不能进行任何操作。。。

自己踩个沙发
20分
研究中
20分
过来学习学习
20分
引用 1 楼 janda2011 的回复:

自己踩个沙发

你怎么不给我留个沙发啊~~这个可以晚上更新啊~~或者你给用户提示要更新了~~~

欢迎来踩!
20分
网站升级需要重启tomcat,普通的jsp,js等前端文件可以直接更新,无需重启,但是防止缓存的影响。
class文件可以采用热部署,但是热部署会消耗掉大量的内存,频繁热部署会导致内存溢出错误
xml 配置就必须要重启了
所以,还是推荐重启,重启的时候,清理掉缓存
可以提前给客户提示,某个时间段升级,系统不可用
20分
可以实现软重启,比如如果使用了spring mvc的话,可以将spring容器销毁掉stop,重新加载start,如果没有spring,那就自己管理对象的初始化与销毁了
另外你的服务器需要几个状态,启动成功、启动失败、启动中、维护中等都可以自己定义,然后还需要一个状态过滤器,只负责过滤服务器状态的情况,对应的状态显示对应的界面即可
引用 6 楼 magi1201 的回复:

网站升级需要重启tomcat,普通的jsp,js等前端文件可以直接更新,无需重启,但是防止缓存的影响。
class文件可以采用热部署,但是热部署会消耗掉大量的内存,频繁热部署会导致内存溢出错误
xml 配置就必须要重启了
所以,还是推荐重启,重启的时候,清理掉缓存
可以提前给客户提示,某个时间段升级,系统不可用

引用 7 楼 abguorui0928 的回复:

可以实现软重启,比如如果使用了spring mvc的话,可以将spring容器销毁掉stop,重新加载start,如果没有spring,那就自己管理对象的初始化与销毁了
另外你的服务器需要几个状态,启动成功、启动失败、启动中、维护中等都可以自己定义,然后还需要一个状态过滤器,只负责过滤服务器状态的情况,对应的状态显示对应的界面即可

为了稳妥起见,以后更新还是在一个月黑风高夜的时候停止服务在更新吧!

结贴好快啊。。
http://blog.csdn.net/hjgzj/article/details/45196003
可以使用nginx重新起一个工程,让老的用户去访问这个地址,然后将项目更新再重启项目

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明网站升级如何做到不需要重启tomcat?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!