16
回答
请教一下JAVA开发的WEB系统,JAVA 文件改动后, 是否需要重新启动WEB服务器

我想用JAVA开发一套WEB系统, 使用TOMCAT作为WEB服务器。

假如我改动某些JAVA CLASS文件后,重新部署到WEB 服务器后, 是否需要重启TOMCAT呢?因为重启TOMCAT会带来短暂的系统停机时间,对于某些关键的系统来说,损失是比较大的。

网上有一些不要重启的办法,但是会有一些问题,请问一下究竟有没有好的解决办法呢?

举报
xindy
发帖于8年前 16回/1K+阅
共有16个答案 最后回答: 8年前

默认是自动重新加载的,如果不想这样,要手工重启的话,可以在 Context 中加入 reloadable="false" 的参数。

引用来自#4楼“jackmeiowei”的帖子

不重启你新加的class就不会生效,开发web能不重启么

是啊, 这也正是我烦恼的地方。 貌似TOMCAT都需要重启才能顺利的重新部署。。。

如果是PHP开发WEB的话, 是不需要重启的,直接改好文件后,放入WEB服务器即可!

引用来自#5楼“xindy”的帖子

引用来自#4楼“jackmeiowei”的帖子

不重启你新加的class就不会生效,开发web能不重启么

是啊, 这也正是我烦恼的地方。 貌似TOMCAT都需要重启才能顺利的重新部署。。。

如果是PHP开发WEB的话, 是不需要重启的,直接改好文件后,放入WEB服务器即可!

可以看看 Play 框架,修改 Java 类也无需重启。

引用来自#6楼“红薯”的帖子

引用来自#5楼“xindy”的帖子

引用来自#4楼“jackmeiowei”的帖子

不重启你新加的class就不会生效,开发web能不重启么

是啊, 这也正是我烦恼的地方。 貌似TOMCAT都需要重启才能顺利的重新部署。。。

如果是PHP开发WEB的话, 是不需要重启的,直接改好文件后,放入WEB服务器即可!

可以看看 Play 框架,修改 Java 类也无需重启。

用PLAY框架是用它自带的WEB服务器,不能用TOMCAT,性能还有可靠性难以保证啊

引用来自#8楼“红薯”的帖子

其实重启不是什么大问题,oschina也是java开发的,用tomcat跑的

如果是一般的互联网WEB系统, 重启挺一会也是OK的,毕竟也不会有什么损失。

我现在想做的是企业的内部生产管理系统,基于WEB。生产是24×7,所以系统也是不能轻易down机重启的。任何微小的改动,如果都要重启,生产线肯定不干。

现在只是在调研,应该采取什么样的技术和架构,正在烦恼中。。。

其实你要解决的就是重启过程中不会影响用户的访问。

很简单,两个tomcat,tomcat1:ready ,tomcat2:standby,前端使用 apache + jk 来接入

当需要重启的时候,先启动tomcat2,然后 jk 切换到 tomcat2 上,并在 jk 上 stop 掉 tomcat1,停止tomcat1

下回需要再重启的时候,变成启动 tomcat1,停止tomcat2的过程。

引用来自#10楼“红薯”的帖子

其实你要解决的就是重启过程中不会影响用户的访问。

很简单,两个tomcat,tomcat1:ready ,tomcat2:standby,前端使用 apache + jk 来接入

当需要重启的时候,先启动tomcat2,然后 jk 切换到 tomcat2 上,并在 jk 上 stop 掉 tomcat1,停止tomcat1

下回需要再重启的时候,变成启动 tomcat1,停止tomcat2的过程。

谢谢红薯的指点,提供了一个很好的思路。

apache + jk 其实是用来负载均衡的, 不如现在的nginx流行和热门,所以用Nginx+Tomcat来实现,个人感觉会好一点。

红薯意见如何呢?

顶部