社区
Web 开发
帖子详情
Tomcat热部署的实现和他的缺点
zqyxiazai
2011-07-21 07:15:59
哪位大侠知道Tomcat如何实现热部署,并说说他的缺点吗?
...全文
20821
25
打赏
收藏
Tomcat热部署的实现和他的缺点
哪位大侠知道Tomcat如何实现热部署,并说说他的缺点吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shenj1913
2011-12-23
打赏
举报
回复
tomcat 热部署可以方便开发 在conf文件夹下的server.xml中加上<Context docBase="u:\workspace\sys\WebContent" path="/sys2.8" reloadable="false">这个配置就可以的
一只独孤的程序猿
2011-09-14
打赏
举报
回复
热部署?
我也有个帖子没有得到答案呢。。
tomcat虚拟机配置
H_YaLi
2011-09-14
打赏
举报
回复
为什么要热部署?
peng_wu01
2011-09-14
打赏
举报
回复
其实有个外门邪道,可以走的,绝对的热部署,杠杆的!我就是不告诉你们!
haiber528
2011-09-03
打赏
举报
回复
最近在学习Mule,貌似这个可以使Tomcat实现热部署。
fireelf000
2011-08-01
打赏
举报
回复
不推荐热部署,热部署也是引起内存溢出的一大问题
a83800244
2011-07-29
打赏
举报
回复
在tomcat里的conf文件夹里的server.xml配一个指向(指向你的工程):
例如:
<Context path="/mgws" docBase="E:\yangchaodong\workspaces\mgws3\WebContent" reloadable="true" crossContext="true"/>
kai27ks
2011-07-23
打赏
举报
回复
好像学到了东西。我回头去试试。
朱超ZhuChao.Tech
2011-07-23
打赏
举报
回复
RT.
mark_
2011-07-23
打赏
举报
回复
[Quote=引用 4 楼 bao110908 的回复:]
所谓的热部署是指修改了一个类文件,类加载器只是重新加载这一个类文件,而不是重新加载所有的东西。
Tomcat 根本就不支持这样做。
[/Quote]
可以看下JRebel, google下吧。
Isnotsuitable
2011-07-23
打赏
举报
回复
<constant name="struts.devMode" value="true" />
它的作用是你不用再重启tomcat
优点:在开发阶段提高效率
缺点:添加的内容多了有时候还是要重启tomcat
树成
2011-07-22
打赏
举报
回复
[Quote=引用 10 楼 rainsilence 的回复:]
引用 8 楼 spiniper 的回复:
引用 7 楼 rainsilence 的回复:
引用 6 楼 spiniper 的回复:
热部署和开发者模式还是有区别的。tomcat本身不支持,但是似乎可通过加载其它插件让它支持,不过,我很难想象在一个生产系统中,热部署有什么价值,我觉得热部署也就是和开发模式。
热部署的价值:实现在不关闭服务器的情况下升级模块。
这点……
[/Quote]
你说这话我同意,我也是这么认为的,任何技术的出现都是因为某个需求的应用,但是需求往往是过于理想化了,为此诞生的技术未必就能很好的解决这个需求,就像热部署,他想实现不关闭就完成系统更新,但是实际操作却是相当困难,这个技术并没有达到预期的效果,他在性能方面的缺陷和稳定性上的缺陷,不适合运用在一个成熟的生产系统上。而这个为了这个需求的技术却歪打正着的给开发带来了便利,世界上很多需求与技术的关系不都是如此么?
而且,你用这样的话语来搪塞我,未免过于肤浅,要说服我还是需要更深入剖析一下,我且等待你的看法。
rainsilence
2011-07-22
打赏
举报
回复
[Quote=引用 8 楼 spiniper 的回复:]
引用 7 楼 rainsilence 的回复:
引用 6 楼 spiniper 的回复:
热部署和开发者模式还是有区别的。tomcat本身不支持,但是似乎可通过加载其它插件让它支持,不过,我很难想象在一个生产系统中,热部署有什么价值,我觉得热部署也就是和开发模式。
热部署的价值:实现在不关闭服务器的情况下升级模块。
这点我当然知道,但是,你知道作为一个生产系统,是不可……
[/Quote]
需求产生了技术,而不是技术的发展产生需求。
kai27ks
2011-07-22
打赏
举报
回复
我知道的支持热部署的 JOBSS。 GLASSFISH V2版(V3不会用)
TOMCAT是查找到有修改的类文件重启动。但是对配置文件无效。。
shine333
2011-07-22
打赏
举报
回复
热部署还是有用的,甚至可以说很有用的。
shine333
2011-07-22
打赏
举报
回复
[Quote=引用 9 楼 kai27ks 的回复:]
我知道的支持热部署的 JOBSS。 GLASSFISH V2版(V3不会用)
TOMCAT是查找到有修改的类文件重启动。但是对配置文件无效。。
[/Quote]
都可以,只要修改context的配置即可,默认监听web.xml(conf/context.xml)
<WatchedResource>WEB-INF/web.xml</WatchedResource>
rainsilence
2011-07-22
打赏
举报
回复
你说来说去,就是技术上不好实现。但是,我可以很负责的跟你说,这个需求很强烈,这个市场很大。你做不到,不代表别人做不到。谁能做到,谁就能占到先机。就算你做不到,你的老板想做到,你还是要做到。另外,很多时候,不要用固定思维来想问题。我在3年前就实现了热部署。但是不是在服务器层面上的。
树成
2011-07-22
打赏
举报
回复
[Quote=引用 7 楼 rainsilence 的回复:]
引用 6 楼 spiniper 的回复:
热部署和开发者模式还是有区别的。tomcat本身不支持,但是似乎可通过加载其它插件让它支持,不过,我很难想象在一个生产系统中,热部署有什么价值,我觉得热部署也就是和开发模式。
热部署的价值:实现在不关闭服务器的情况下升级模块。
[/Quote]
这点我当然知道,但是,你知道作为一个生产系统,是不可以随便升级的,任何的升级过程都需要有测试,有监控和试运行阶段,你说在这样一种情况,服务器可能不重启么?
而且热部署可能会带来的一个很严重后果,就是一个已经成熟的生产系统,因为一个2B程序员上传的一个不合格的模块,而导致整个系统瘫痪,这样的责任谁去承担,而且某些业务还正在进行中,在这期间损失的数据如何弥补回来?如果是冷部署,在运行状态下,不加载新模块,就可以有效避免这个问题。
当然,你可以说,我通过充分的测试,这些模块值得信任,但是我想说,没有经过真正实际业务的模块,不能说值得信任,就算它真的值得信任,那么我想说的是,如果不停止服务而热部署的话,在部署期间,服务器仍旧有大量业务流动,那么新旧模块的体会,就很可能导致数据不准确与业务丢失。
那么你可以想象,热部署在生产系统环境下,真的可行么?
rainsilence
2011-07-22
打赏
举报
回复
[Quote=引用 6 楼 spiniper 的回复:]
热部署和开发者模式还是有区别的。tomcat本身不支持,但是似乎可通过加载其它插件让它支持,不过,我很难想象在一个生产系统中,热部署有什么价值,我觉得热部署也就是和开发模式。
[/Quote]
热部署的价值:实现在不关闭服务器的情况下升级模块。
树成
2011-07-21
打赏
举报
回复
热部署和开发者模式还是有区别的。tomcat本身不支持,但是似乎可通过加载其它插件让它支持,不过,我很难想象在一个生产系统中,热部署有什么价值,我觉得热部署也就是和开发模式。
加载更多回复(5)
IDEA+
Tomcat
热部署
配置.docx
。
tomcat
中部署java项目
在
tomcat
中部署java项目 里面介绍了3中部署方式。
Tomcat
热加载Jrebel
Tomcat
热加载
tomcat
的面试专题
tomcat
的面试专题
How
Tomcat
works(PDF)
How
Tomcat
works(PDF),不可用于商业用途,如有版权问题,请联系删除!
Web 开发
81,120
社区成员
341,757
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章