设为首页 收藏本站
查看: 553|回复: 0

[经验分享] myeclipse+tomcat

[复制链接]

尚未签到

发表于 2018-11-29 13:27:05 | 显示全部楼层 |阅读模式
  
  最近,公司要做一个新项目。我要先把环境确定好。正常使用Myeclipse就可以了。但上Myeclispe的官网上不去了。一开始我以为是GFW干的,后来网上说因为中国盗版太多了。Myelipse官方把所有中国的IP都被封了。
哎~~~。也是给人家的印象太不好了。不爱让我们用,我就不用了。
上eclipse.org下了一个Eclipse IDE for Java EE Developers,基于WTP的。一开始的使用还凑合。但到热部署的时候,用Tomcat自带的热部署会引起随TOMCAT自动启动的Servlet再次运行,实际相当于重启了tomcat。这是个大问题啊。
想当年在做客服V3的时候,每次修改一个类,都要重启应用服务器,当时是weblogic+Struts1+sping+hibernate。机器还慢,是一个痛苦的过程。及其影响效率。
后来我在Myeclipse上解决了这个问题,客服V4的开发就没有这个问题。但怎么解决的忘了。在硬盘中一顿翻找,最后终于找到了:
Myeclipse配置Tomcat4时,其中Run mode 和Debug mode决定了修改.java文件后,能否自动发布既实现热部署.txt
Myeclipse配置Tomcat4时,其中Run mode 和Debug mode决定了修改.java文件后,能否自动发布。
Run mode 需要重启Tomcat 4才能让修改后的.java文件生效
Debug mode 修改.java文件后,马上生效

当初被郁闷了那么长时间的问题,和这么重要的解决方法,我咋能忘呢?
感叹一下时间的威力和自己的记性。
  然后上网搜索了一下,对这个问题又有了一个全新的、全面的、深刻的认识。
先说一下我对热部署的需求:就是我改了一个.java文件,这个修改可以在运行中的web服务器中马上生效。而不用重启web服务器。
以下为引文:
This new feature encapsulates the ability to substitute modified code in a running application through the debugger APIs.
——'HotSwapping' using JVM:http://www.jug.mk/blogs/ipenov/entry/hotswapping_using_jvm

  网上很多人误解热部署和热加载的概念,所以造成乱配置的行为,这里提示一下.
热部署:就是容器状态在运行的情况下部署或者重新部署整个项目.在这种情况下一般整个内存会清空,重新加载.简单来说就是Tomcat或者其他的web服务器会帮我们重新加载项目.这种方式可能会造成sessin丢失等情况.
热加载:就是容器状态在运行的情况下重新加载改变编译后的类.在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。因为内存无法转变成对像. 一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的。在中模式最好是在调试过程中使用,免得整个项目加载.
debug模式都支持热加载.很方便使用.
——IDEA TOMCAT WEB开发 SSH开发 修改类不重启 热部署 热加载 IDEA8:
http://3000pzj.javaeye.com/blog/503222
  部署在项目开发过程中是常有的事,特别是debug的时候。但是如果每次fix一个bug都要把整个项目重新部署一遍以便测试fix的效果或者继续debug其他bug,那对开发人员来说无疑是一大噩梦。不过谁都不想噩梦连连,有了JVM的hotSwap以及Intellij Idea对debug,hotSwap的支持,从此美梦相伴(夸张了点:))。今天通过这篇文章介绍一下通过对Intellij Idea热部署的设置达到最方便的最高效的debug效果。
我想在介绍具体设置之前,不妨了解一些背景知识和概念。
HotSwap:“HotSwap”是JPDA(Java Platform Debugger Architecture)中的一个特性,JPDA增强是自Java 2 SDK1.4新增的功能。HotSwap允许将JVM中的类定义替换为新的类定义,这就允许开发人员在debug时,将修改过的class替换JVM中旧有的class,无需重新启动服务器。不过,目前HotSwap只支持对方法body的修改,不支持对类和方法签名的修改(比如修改类名,方法名,方法参数等)。考虑这些限制,也是有理由的,替换类定义,就需要新类和旧类之间有一个关联,这里关联就是类的全名(或许还有其他信息),类名都改了,就不知道替换哪个类了。至于方法签名的修改,应该是考虑到运行时方法的调用,通过方法签名替换已有的方法调用。







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-641210-1-1.html 上篇帖子: tomcat安装的一些错误总结 下篇帖子: Tomcat apr模式的安装方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表