`

tomcat自动加载改变的class文件,且无需重启

 
阅读更多

不重启Tomcat有两种方式:热部署、热加载

热部署:容器在运行时重新部署整个项目

这类环境下,一般整个内存会被清空,重新加载。这类方式有可能造成sessin丢失等问题。tomcat 6以上已解决该问题。


热加载:最好是在调试过程中使用,以免整个项目加载。Debug模式支持热加载。

容器在运行时重新加载编译后的类。在这类环境下,内存不会被清空,sessin不会丢失,但容易造成内存溢出,或者找不到方法。一般转变类的布局和模型就会有异常,在已经有的变量和方法中转变是不会出问题的


热加载配置如下:
在tomcat的server.xml中,

<Context docBase="my_cms" path="/my_cms" reloadable="true" debug="0"  
privileged="true" source="org.eclipse.jst.jee.server:my_cms"/>

path:指定访问该Web应用的URL入口。 
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。 
reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

 

分享到:
评论

相关推荐

    编译class不用重启tomcat

    标题“编译class不用重启tomcat”涉及到的是Java开发中的热部署技术,它允许开发者在不重启应用服务器(如Tomcat)的情况下,实时更新代码并看到变化的效果,从而极大地提高了开发效率。这篇博客可能介绍了如何使用...

    实现tomcat热更新class文件.docx

    为了解决这个问题,可以配置Tomcat实现热更新class文件,使得修改后的Java类在不重启服务器的情况下就能立即生效。下面将详细介绍如何实现这一功能。 首先,我们需要理解Tomcat的工作原理。当一个Web应用被部署到...

    修改java代码以及js无需重启tomcat

    这段配置告诉Tomcat当前处于开发模式,这将有助于提高编译速度,并允许动态更新class文件而无需重启服务器。 #### 四、注意事项与限制条件 ##### 4.1 重启需求 尽管上述配置可以实现在修改Java源码和JS文件后的...

    tomcat类加载器

    通常,开发者希望在不重启服务器的情况下更新代码,这时DevLoader可能会有热部署功能,即在代码更改后,能自动或手动重新加载修改过的类,而无需停止和重新启动Tomcat服务。这大大提高了开发效率。 类加载器在...

    java热加载Class文件.zip

    Java热加载Class文件技术是一种在不重启应用服务器的情况下更新或替换正在运行的Java类的方法,这对于开发者来说是一项非常实用的功能,因为它极大地提高了开发效率。在传统的开发过程中,修改代码后通常需要停止、...

    Spring+mvc+mybatis Mapper xml自动加载

    "Spring+mvc+mybatis Mapper xml自动加载"这个主题聚焦于如何在开发过程中优化配置,使得改动Mapper XML文件后,无需重启Tomcat服务器,就可以立即生效,从而提高开发效率。 Spring MVC是Spring框架的一部分,它...

    java class reload

    但这仅适用于源代码改变后,重新编译并部署的 `.class` 文件。 4. **JMX(Java Management Extensions)** - 通过Java管理扩展(JMX),开发者可以远程控制Tomcat,包括重新加载特定的Web应用或单个类。不过这需要...

    Tomcat热加载Jrebel

    最后,启动Tomcat,Jrebel就会自动监测代码变动并实现热加载。 4. **Jrebel优势**:除了提高开发效率,Jrebel还能减少由于频繁重启导致的内存泄漏风险,因为它避免了长期运行的应用实例被反复创建和销毁。此外,...

    tomcat 自动发布

    所谓“Tomcat自动发布”,是指当应用代码发生更改后,无需手动干预,服务器可以自动检测到这些变化,并完成项目的热部署(即无需重启服务即可生效)。这种方式极大地提高了开发效率,并减少了人为错误。 #### 二、...

    springMVC样例、jreloader实现tomcat热部署

    它的工作原理是在Tomcat的生命周期中插入一个监听器,当检测到应用中的类文件改变时,会通知Tomcat的ClassLoader重新加载这个类,而无需停止服务器。这样,开发者就可以在不中断服务的情况下,实时看到代码更改的...

    quartz 随tomcat启动执行一次

    ### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...

    Tomcat 8.5.4 windowsx64

    同时,对于已部署的应用,修改过的`.java`文件会被重新编译,对应的`.class`文件会被更新,而无需停止服务。 在描述中提到了Nohttp、OkhttpUtils和RocooFix,这些都是与Tomcat相关但独立的技术和工具: 1. **...

    jenkins+svn+tomcat+ansible发到tomcat-重启.docx

    根据提供的文档内容,本文将详细解析如何通过Jenkins结合Subversion (SVN)、Tomcat以及Ansible实现自动化部署Web应用程序。此方案适用于希望提高软件发布效率与可靠性的团队。 ### Jenkins + SVN + Tomcat + ...

    详解tomcat热部署和热加载的方法

    热加载则是指在不重启服务器的前提下,Tomcat监听到相关class文件或者配置文件发生变化,并且仅加载变化的文件,不会影响到其他的组件和资源,也不会清除会话数据,从而实现无中断的实时更新。 实现热部署和热加载...

    Tomcat设置虚拟目录的方法, 不修改server.xml

    ### Tomcat设置虚拟目录的方法:不修改server.xml 在日常的Web开发中,我们经常会遇到需要为特定的应用程序设置虚拟目录的需求。对于Apache Tomcat服务器而言,通常的做法是通过编辑`server.xml`来配置虚拟主机或者...

    Geoserver解决Tomcat跨域问题文件.rar

    标题中的“Geoserver解决Tomcat跨域问题文件”指的是针对使用Geoserver与Tomcat部署Web服务时遇到的跨域限制的解决方案。在Web开发中,跨域问题是一个常见的安全问题,它源于浏览器的同源策略,限制了JavaScript从一...

    tomcat下的log4j日志配置

    5. **重启 Tomcat**:重启 Tomcat 后,相应的日志文件将按照 `log4j.properties` 文件中的设置生成。 **优点**:灵活性高,可以针对每个应用定制化日志配置;便于管理和追踪。 **总结**:根据项目的需求选择合适的...

    tomcat支持跨域jar.zip

    3. **使用jar文件**:压缩包中的"tomcat跨域jar"可能是包含CORS Filter实现的JAR文件,用于在Tomcat启动时自动加载并启用跨域支持。你需要将这个JAR文件放入Tomcat的`lib`目录,确保服务器启动时能够识别并加载。 4...

    Tomcat5.5数据源的配置[图解]

    总的来说,配置Tomcat数据源涉及多个步骤,包括安装管理插件、配置服务器和应用级别的XML文件,以及正确设置数据库连接参数。每个环节都至关重要,只有确保这些步骤都准确无误,才能实现平稳的数据库连接。

Global site tag (gtag.js) - Google Analytics