建立企业网站公司本地安装网站

web/2025/9/26 14:44:19/文章来源:
建立企业网站公司,本地安装网站,100平米简约办公室,怎么做非法彩票网站目录 手动启动热部署 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 什么是热部署#xff1f;简单说就是你程序改了#xff0c;现在要重新启动服务器#xff0c;嫌麻烦#xff1f;不用重启#xff0c;服务器会自己悄悄的把更新后的程序给重新加载一遍…目录 手动启动热部署 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 什么是热部署简单说就是你程序改了现在要重新启动服务器嫌麻烦不用重启服务器会自己悄悄的把更新后的程序给重新加载一遍这就是热部署。 热部署的功能是如何实现的呢这就要分两种情况来说了非springboot工程和springboot工程的热部署实现方式完全不一样。先说一下原始的非springboot项目是如何实现热部署的。 非springboot项目热部署实现原理 开发非springboot项目时我们要制作一个web工程并通过tomcat启动通常需要先安装tomcat服务器到磁盘中开发的程序配置发布到安装的tomcat服务器上。如果想实现热部署的效果这种情况其实有两种做法一种是在tomcat服务器的配置文件中进行配置这种做法与你使用什么IDE工具无关不管你使用eclipse还是idea都行。还有一种做法是通过IDE工具进行配置比如在idea工具中进行设置这种形式需要依赖IDE工具每款IDE工具不同对应的配置也不太一样。但是核心思想是一样的就是使用服务器去监控其中加载的应用发现产生了变化就重新加载一次。 上面所说的非springboot项目实现热部署看上去是一个非常简单的过程几乎每个小伙伴都能自己写出来。如果你不会写我给你个最简单的思路但是实际设计要比这复杂一些。例如启动一个定时任务任务启动时记录每个文件的大小以后每5秒比对一下每个文件的大小是否有改变或者是否有新文件。如果没有改变放行如果有改变刷新当前记录的文件信息然后重新启动服务器这就可以实现热部署了。当然这个过程肯定不能这么做比如我把一个打印输出的字符串abc改成cba比对大小是没有变化的但是内容缺实变了所以这么做肯定不行只是给大家打个比方而且重启服务器这就是冷启动了不能算热部署领会精神吧。 看上去这个过程也没多复杂在springboot项目中难道还有其他的弯弯绕吗还真有。 springboot项目热部署实现原理 基于springboot开发的web工程其实有一个显著的特征就是tomcat服务器内置了还记得内嵌服务器吗服务器是以一个对象的形式在spring容器中运行的。本来我们期望于tomcat服务器加载程序后由tomcat服务器盯着程序你变化后我就重新启动重新加载但是现在tomcat和我们的程序是平级的了都是spring容器中的组件这下就麻烦了缺乏了一个直接的管理权那该怎么做呢简单再搞一个程序X在spring容器中盯着你原始开发的程序A不就行了吗确实搞一个盯着程序A的程序X就行了如果你自己开发的程序A变化了那么程序X就命令tomcat容器重新加载程序A就OK了。并且这样做有一个好处spring容器中东西不用全部重新加载一遍只需要重新加载你开发的程序那一部分就可以了这下效率又高了挺好。 下面就说说怎么搞出来这么一个程序X肯定不是我们自己手写了springboot早就做好了搞一个坐标导入进去就行了。 手动启动热部署 步骤①导入开发者工具对应的坐标 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdoptionaltrue/optional /dependency 步骤②构建项目可以使用快捷键激活此功能 对应的快捷键一定要记得 CTRLF9 以上过程就实现了springboot工程的热部署是不是挺简单的。不过这里需要把底层的工作工程给普及一下。 重启与重载 一个springboot项目在运行时实际上是分两个过程进行的根据加载的东西不同划分成base类加载器与restart类加载器。 base类加载器用来加载jar包中的类jar包中的类和配置文件由于不会发生变化因此不管加载多少次加载的内容不会发生变化 restart类加载器用来加载开发者自己开发的类、配置文件、页面等信息这一类文件受开发者影响 当springboot项目启动时base类加载器执行加载jar包中的信息后restart类加载器执行加载开发者制作的内容。当执行构建项目后由于jar中的信息不会变化因此base类加载器无需再次执行所以仅仅运行restart类加载即可也就是将开发者自己制作的内容重新加载就行了这就完成了一次热部署的过程也可以说热部署的过程实际上是重新加载restart类加载器中的信息。 总结 使用开发者工具可以为当前项目开启热部署功能 使用构建项目操作对工程进行热部署 思考 上述过程每次进行热部署都需要开发者手工操作不管是点击按钮还是快捷键都需要开发者手工执行。这种操作的应用场景主要是在开发调试期并且调试的代码处于不同的文件中比如服务器启动了我需要改4个文件中的内容然后重启等4个文件都改完了再执行热部署使用一个快捷键就OK了。但是如果现在开发者要修改的内容就只有一个文件中的少量代码这个时候代码修改完毕如果能够让程序自己执行热部署功能就可以减少开发者的操作也就是自动进行热部署能这么做吗是可以的。咱们接着说。 自动启动热部署 自动热部署其实就是设计一个开关打开这个开关后IDE工具就可以自动热部署。因此这个操作和IDE工具有关以下以idea为例设置idea中启动热部署 步骤①设置自动构建项目 打开【File】选择【settings...】,在面板左侧的菜单中找到【Compile】选项然后勾选【Build project automatically】意思是自动构建项目 自动构建项目选项勾选后 步骤②允许在程序运行时进行自动构建 使用快捷键【Ctrl】【Alt】【Shit】【/】打开维护面板选择第1项【Registry...】 在选项中搜索comple然后勾选对应项即可 这样程序在运行的时候就可以进行自动构建了实现了热部署的效果。 关注如果你每敲一个字母服务器就重新构建一次这未免有点太频繁了所以idea设置当idea工具失去焦点5秒后进行热部署。其实就是你从idea工具中切换到其他工具时进行热部署比如改完程序需要到浏览器上去调试这个时候idea就自动进行热部署操作。 总结 自动热部署要开启自动构建项目 自动热部署要开启在程序运行时自动构建项目 思考 现在已经实现了热部署了但是到企业开发的时候你会发现为了便于管理在你的程序目录中除了有代码还有可能有文档如果你修改了一下文档这个时候会进行热部署吗不管是否进行热部署这个过程我们需要自己控制才比较合理那这个东西能控制吗继续往下看 参与热部署监控的文件范围配置 通过修改项目中的文件你可以发现其实并不是所有的文件修改都会激活热部署的原因在于在开发者工具中有一组配置当满足了配置中的条件后才会启动热部署配置中默认不参与热部署的目录信息如下 /META-INF/maven /META-INF/resources /resources /static /public /templates 以上目录中的文件如果发生变化是不参与热部署的。如果想修改配置可以通过application.yml文件进行设定哪些文件不参与热部署操作 spring:devtools:restart:# 设置不参与热部署的文件或文件夹exclude: static/**,public/**,config/application.yml 总结 通过配置可以修改不参与热部署的文件或目录 思考 热部署功能是一个典型的开发阶段使用的功能到了线上环境运行程序时这个功能就没有意义了。能否关闭热部署功能呢 关闭热部署 线上环境运行时是不可能使用热部署功能的所以需要强制关闭此功能通过配置可以关闭此功能。 spring:devtools:restart:enabled: false 如果当心配置文件层级过多导致相符覆盖最终引起配置失效可以提高配置的层级在更高层级中配置关闭热部署。例如在启动容器前通过系统属性设置关闭热部署功能。 SpringBootApplication public class SSMPApplication {public static void main(String[] args) {System.setProperty(spring.devtools.restart.enabled,false);SpringApplication.run(SSMPApplication.class);} } 其实上述担心略微有点多余因为线上环境的维护是不可能出现修改代码的操作的这么做唯一的作用是降低资源消耗毕竟那双盯着你项目是不是产生变化的眼睛只要闭上了就不具有热部署功能了这个开关的作用就是禁用对应功能。 总结 通过配置可以关闭热部署功能降低线上程序的资源消耗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

暗网是什么网站大连网龙建站优化推广

移动操作系统更新管理是大多数移动设备管理(MDM)解决方案中提供的一项功能,它允许组织管理移动设备上的操作系统更新。MDM解决方案定期扫描设备以检查可用的移动操作系统更新,并根据配置的策略管理操作系统更新。操作系统更新管理…

怎么做网站申请广告建材招商网站

php 无限级分类 获取顶级分类ID,php顶级有这样一个表,id是分类的ID,name是分类名称,pid是上级分类的ID。现在有个分类ID,程序要找到它上级的上级的上级……分类的ID,简单说就是找出顶级分类的ID。比如“新鲜…

专做奢侈品品牌的网站网站关键词的确定

在.NET 4.0中,并行计算与多线程得到了一定程度的加强,这主要体现在并行对象Parallel,多线程Task,与PLinq。这里对这些相关的特性一起总结一下。 使用Thread方式的线程无疑是比较麻烦的,于是在这个版本中有了改善的版本…

食用油 网站 模板挖掘关键词工具

目录 1. 二叉树的前序遍历 (中,后序类似)2. 二叉树的最大深度3. 平衡二叉树4. 二叉树遍历 1. 二叉树的前序遍历 (中,后序类似) 这道题的意思是对二叉树进行前序遍历,把每个结点的值都存入一个数组中,并且返回这个数组。 思路&…

厦门网站设计推广公司ai特效字体网站

电话光端机顾名思义其实也是一种光端机,但是他不仅仅只能传输电话的光端机。它的用户接口类型多样(包括语音、数据、图象),均以小型模块化部件方式装配到母板上,各种用户模块可以混合装配,方便扩容及维护。…

洛阳做网站公司电话p2p借贷网站建设

[js] js源代码压缩都有哪些方法?它们的压缩原理分别是什么 方法 1.在线工具 2.webpack原理 1.删除注释 2.变量名方法名字符精减个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与…

网站美工培训青岛最新通知

URL:统一资源定位符,说白了,就是一个网络 通过URLConnection类可以连接到URL,然后通过URLConnection可以获取读数据的通道。非文本数据用字节流来读取。 读完之后写入本地即可。 public class test {public static void main(S…

在哪里买空间做网站中小企业网络营销论文

推荐一部好电影《致命魔术》。(此处为植入广告) 推荐理由:涉及人性。画面不错,剧情跌宕,亦魔亦幻(此处的”魔“为魔术的”魔“)。虽然女猪脚不尽如人意,但是男猪脚比较帅。而…

电商运营学习网站手机网站建设怎样

文章目录1.线性探测 哈希表代码2.拉链法 哈希表代码1. 散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。 2. 散列函数,设计的基…

上海定制网站开发营销推广小兵cms个人网站模板

首先是方法的参数是父类对象,传入子类对象是否可行 然后引出Parent p new Children(); 这句代码不是很理解,google的过程中引出向上转型 要理解向上转型又引出了动态绑定 从动态绑定又引出了静态绑定 程序绑定的概念: 绑定指的是一个方法的…

商城网站前台html模板如何在百度上发广告

在现代软件开发中,Git已经成为了版本控制系统的事实标准。无论是在个人项目还是大型企业级开发中,Git都是不可或缺的工具。因此,掌握Git的基本操作和高级特性对于软件开发者来说是非常重要的。以下是根据提供的文件内容,总结出的3…

网站模板和定制logo设计图片免费 图案 简约

在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后,现在该看看如何进一步执行此步骤并进一步自定义配置。 在这篇文章中,我计划提出对配置属性的弃用,并讨论各种值提供程序&#x…

有个新网站专门做外贸的叫什么做网站学不需要做后台管理系统

UG装配约束命令在如下位置 首选接触:含接触和对齐,自动判断两种类型 接触:约束对象使其曲面法向在相反方向,并共面或共线 对齐:约束对象使其曲面法向在同一方向,并共面或共线 自动判断中心/轴&#xff1…

网站盈利的10种方式我的班级网站模板

目录 前言边云协同时代背景边缘人工智能边缘挑战英特尔边云协同的创新成果最后 前言 最近观看了英特尔On技术创新大会直播,学到了挺多知识,其中对英特尔高级首席 AI 工程张宇博士讲解的边云协同加速 AI 解决方案商业化落地特别感兴趣。张宇博士讲解了英…

永年县网站一个新手怎么做电商

近日,Scroll生态项目Penpad将品牌进一步升级为Pencils Protocol,全新升级后其不仅对LaunchPad平台进行了功能上的升级,同时其也进一步引入了Staking、Vault以及Shop等玩法,这也让Pencils Protocol的叙事方向不再仅限于LaunchPad&a…

烟台快速建站公司iis5.1怎么新建网站

AIDE(Advanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文档的完整性。AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档。AIDE数据库能够保存文档的各种属性,包括:权…

中英企业网站模板中国网站用Cn域名

这篇小文将使用小波多分辨分析对一个简单信号进行降噪,主要是降噪流程,为以后的小波更复杂的降噪算法打下良好的基础。降噪算法流程大致如下: (1)去趋势项(如直流电流),并将数据归一…

重庆专业做网站安徽鲲鹏建设集团有限公司网站

lucene学习教程 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 2 lucene的工作方式 lucene提供的服务实际包含两部分&#xf…

电商 wordpress主题河北网站seo策划

目录 一:绘制直线 二:绘制矩形 三:绘制圆形 四:绘制椭圆

网站空间选择公司介绍ppt制作

一、 总则 本部分规定了 IT 运维服务支撑系统的应用需求,包括 IT 运维服务模型与模式、 IT 运维服务管理体系、以及 IT 运维服务和管理能力评估与提升途径。 二、 参考标准 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件&#xff0c…