`
eggbucket
  • 浏览: 184744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

修改类不用重启Tomcat加载整个项目

 
阅读更多

可以修改类不用重启Tomcat加载整个项目(手工启动)
    配置reloadable=true(自动重载)
    使用Debug模式,前提是仅限于局部修改。(修改类不用重启--热加载)

    Tomcat轻小,而WebLogic、WebSphere对硬件要求比较高,吃内存、耗CUP。JBoss类更改不会重启(传说,我没用过,不知道!)。

    在使用Eclipse+Tomcat开发Java项目的时候常常会碰到这样的情况,已修改Java文件Tomcat就会自动重启,接下来就是漫长的等待服 务重启完毕。那其实大多数的Java文件修改是没有必要重启服务的,只有一些特定的Java文件,比如说只有重启服务的时候才会调用的Java代码才需要 重启服务。

    一修改java代码就重新部署(console有明显提示),且会话失效,设置服务器为debug模式(debug on server),否则修改不起作用.

    什么时候应该redeploy,什么时候应该重启tomcat。如果项目大,redeploy和重启tomcat的系统开销是很大的,经常要等很长时间。

    Tomcat运行时动态重载类, 实现重载功能的测试jsp。当系统中有很多类时,如果开启了Tomcat的reloadable=true,那么每当相关文件改变时,Tomcat会停止 web app并释放内存,然后重新加载web app.这实在是个耗时的工程. 如果能有只重载某几个类的功能,将极大的满足我这个即时调试狂。

1.修改类不重启Tomcat(不用手动重启)
    首先需要设置server.xml中的Context reloadable="true", true自动重载(不是重启!), false手动重载。(如果项目在Tomcat中,应该去Tomcat目录设置。)
    Eclipse EE 设置方式,文件设置:server.xml > reloadable="false" 界面设置:Server > Modules > Edit > webapp > Auto reloading enabled > false
    开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。可以选择把其他不相关的项目先从webapps移出,这样tomcat加载的项目就少了,相应也就快了。

这里是重点:修改tomcat conf目录下的server.xml,添加:

Xml代码
  1. < Context path = "/struts2" docBase = "D:\workspace\lee_struts2\WebRoot" reloadable = "true" />   

   注:docBase="",中的内容为项目的WebRoot目录

然后在把MyEclipse server中 tomcat 的开发模式设置为开发模式,ok确定。

然后启动tomcat,随意修改项目中的一个文件,就会看到Console窗口重新加载项目,ok,搞定...


2.修改类不重启Tomcat有两种方式:热部署、热加载
    热部署:容器状态在运行时重新部署整个项目。这种情况下一般整个内存会清空,重新加载,这种方式可能会造成sessin丢失等情况。tomcat 6确实可以热部署了,而且会话也没丢.
    热加载:最好是在调试过程中使用,免得整个项目加载,Debug模式支持热加载。容器状态在运行时重新加载改变编译后的类。在这种情况下内存不会清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。

    一般改变类的结构和模型就会有异常,在已经有的变量和方法中改变是不会出问题的(Eclipse、MyEclipse8、JBuilder、 IntelliJ IDEA…)。

3.自动编译JSP
build Automatically

修改Tomcat源代码实现realoadable!不推荐~

分享到:
评论

相关推荐

    IntelliJ IDEA修改了mybatis mapper xml后不用重启tomcat,自动热发布 热更新 热部署.zip

    IntelliJ IDEA修改了mybatis mapper xml后自动热发布 热更新 热部署.zip Mybatis xml文件使用热加载检测不更新怎么办?看我的

    修改java类而无需重启tomcat.rar

    使用以下方法可以修改java类而无需重启tomcat: 下载javarebel.zip 解压后,将javarebel.jar拷贝到一个目录。/bin 目录下 修改tomcat安装目录下的\bin\catalina.bat文件, 增加set JAVA_OPTS=-noverify -javaagent:d...

    定时重启tomcat

    轻松实现tomcat定时重启 首先修改jsp.bat中的两个路径,其中set JAVA_HOME后面是jdk路径,下面是tomcat路径;运行,执行注册。 然后修改tomcat.bat中的ping 127.0.0.1 -n 5(暂停时间) 最后将tomcat.bat添加的计划...

    Java开发Web程序中修改类文件和配置文件不重启服务器的方法

    大家知道,在我们开发web项目的时候重启应用服务器是我们最烦恼的事情,每次修改类文件或者配置文件后,我们必须重启服务器来重新加载,使得我们的修改才能及时的显现出来,这个时候,我们只能等待服务器的重启,...

    Eclipse中创建Web Maven Project并部署到Tomcat中

    大家都知道,在进行J2EE项目的开发过程中,在调试阶段如果只是修改了页面是不需要重启应用服务器的,比如不需要重启Tomcat。只需要在浏览器中 进行页面刷新即可。其实之所以不用重启Tomcat等应用服务器,其根本原因...

    tomcat-7.0.52.tar.gz 【linux】

    安装tomcat 1.下载tomcat 2.上传到linux 3.... mkdir /usr/local/tomcat 4.移动或者复制 tomcat...tar.gz 到 /usr/local... 重启加载防火墙或者重启防火墙 service iptables reload 或者 service iptables restart

    tomcat环境变量配置

    6.重启Tomcat 7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。 第四步:建立自己的Servlet: 写入你的第一个Servlet import java.io.*; import javax.servlet.*; import ...

    Tomcat6.x+IIS6+jk2最新整合

    重启IIS,TOMCAT 测试 tomcat直接访问 http://localhost:8080/index.jsp IIS整合后访问 http://localhost/index.jsp 注意 tomcat的一些虚拟主机配置可以见配置文件server.xml 在访问过测试页后ISAPI筛选器"jakarta...

    Spring+mvc+mybatis Mapper xml自动加载

    Spring+mvc+mybatis Mapper xml自动加载修改SQL不用重启tomcat,附带sql脚本,下载直接能运行,启动输入http://localhost:8080/aclome/

    tomcat zabbix 监控模板

    修改&lt;TOMCAT_HOME&gt;/conf目录下的tomcat-users.xml文件,在&lt;tomcat-users&gt;节点下添加一个user节点 如: c. 重启验证 http://ip:port/manager/jmxproxy 输入账号密码能显示TOMCAT状态信息 2)监控脚本 ...

    Tomcat6.x+IIS6+jk2 整合

    重启IIS,TOMCAT 测试 tomcat直接访问 http://localhost:8080/index.jsp IIS整合后访问 http://localhost/index.jsp 注意 tomcat的一些虚拟主机配置可以见配置文件server.xml 在访问过测试页后ISAPI筛选器"jakarta...

    Jrebel 2018.1.2 Eclipse离线安装包

    Eclipse Tomcat 项目热部署修改Class类不需要重启Tomcat,热加载tomcat。 Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。 JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的...

    Tomcat实现热部署

    热部署是指在你对JSP或JAVA类进行了修改在不重启WEB服务器前提下能让修改生效,配置文件的修改除外 热部署好处 每次打增量包的时候就不用重新启动tomcat了 实现方式 在tomcat\conf\server.xml中的&lt;host&gt;&lt;/host&gt;内部...

    解决:tomcat跨域所需的jar包

    前端代码的端口和tomcat端口不同,所以出现跨域。则需要在tomcat lib 下面添加 ① 、cors-filter-2.1.0.jar ②、java-property-utils-1.9.1.jar 修改项目的web.xml 然后重启tomcat解决问题。

    在Apache Tomcat 7设置redis作为session store

    在Apache Tomcat 7设置redis作为session ...6.重启tomcat后就可以看到session存储到redis上了。 要严格注意你的jar版本 commons-pool-1.3.jar jedis-2.0.0.jar tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar

    Asp.net控制Tomcat启动关闭的实现方法

    这样客户在修改权限后可以很方便的重启Tomcat。 二、技术分析 由于管理员系统是基于.net的BS方式。所以我们要能通过网页控制Tomcat的关闭启动,并加载进管理员系统中。 首先分析Tomcat的启动方式。在Tomcat6.0的bin...

    MyEclipse热加载jar包.zip

    该资源是用于配置Myeclipse修改java文件后不需要重启Tomcat服务的jar包,提高开发效率。

    Linux中使用Crontab定时监测维护Tomcat应用程序的方法

    处理方法:应用接口不可用时自动重启Tomcat,并发送告警邮件给相关人员 #!/bin/bash #--------------------------------------------------------- # 功能说明: # 监控指定HTTP服务是否可用,如果不可用立即重启...

    maven的优缺点 项目

    每次升级都要重启tomcat;将tomcat做很多个备份(10个),为了nginx转发;前台:访问比较大,管理员访问量比较小; 问题: 每次升级,10个tomcat都升级一次 后台的升级频繁要比前台频繁;升级10次,9次改的是后台的代码,...

    JSP电子商务系统实例开发项目

    操作方法:修改C:\Tomcat 5.0\conf\server.xml,在上一行添加如下代码来建立站点: ”/business” docBase=”D:\business” reloadable=”false” debug=”0”/&gt; 此步骤应该对应程序安装的目录; 4、 部署源程序 ...

Global site tag (gtag.js) - Google Analytics