热部署是什么意思

热部署是什么意思,第1张

所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。

对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。

大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。

扩展资料

辅助用户使用和管理PKUAS的工具集合,主要包括部署工具、配置工具与实时监控工具。其中,部署工具既可热部署整个应用,也可热部署单个构件,从而实现应用的在线演化;配置工具允许用户配置整个服务器或单个应用;而实时监控工具允许用户实时观察系统的运行状态并作出相应调整。

没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明详细的 软件环境,和程序配置是非常必要的。

参考资料来源:百度百科-热部署

确保使用的是debug模式。

确保tomcat是由idea实例化的。也就是说tomcat是在idea中配置好的

(特殊的修改如:项目配置文件,某些特殊类新增,方法名称参数的添加修改引起的不能热部署就必须重启,当然你也可以用Jrebel插件。此插件收费。可以实现大部分的修改热部署,包括修改项目配置文件等热部署。以下描述均指的是普通的修改下的热部署。)

项目配置如图:

当修改文件后,ctrl+F9,编译文件。tomcat会自动加载新文件。

On frame deactivation选项同样可以选择为 update classes and Resource选项。它的作用就是在你失去焦点的时候自动编译。例如:修改某文件后你直接切换到了浏览器,或者点了下别的。只要当前的intellij idea 不是焦点就会激活自动编译并更新文件动作。也就是说不用手动按ctrl+F9了。

所有以上操作,请确保是在DEBUG模式下操作。也就是运行tomcat的时候是debug模式启动的。

intellij idea默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化。要jsp文件改动后立刻看到变化,有个配置。

在idea tomcat 中server的配置里,有个on frame deactivation,选择update classes and resources。另外有个配置on update action,就是手动操作的时候采取什么动作,可以重启服务器,也可以像上面一样更新类和资源文件,我选的是Redeploy。 可是当前项目没有update classes and resources这个选项,有个Hot Swap classes。

这是由于服务器添加的Artifact类型问题,一般一个module对应两种类型的Artifact,一种是war,一种是war explored。

war就是已war包形式发布,当前项目是这种形式,在这种形式下on frame deactivation配置没有update classes and resources选项。war explored是发布文件目录,选择这种形式,on frame deactivation中就出现update classes and resources选项了。

VM设置为:-mx2048m -XX:MaxPermSize=2048m


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/580739.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-05
下一篇2023-07-05

发表评论

登录后才能评论

评论列表(0条)

    保存