how2j.cn

下载区
文件名 文件大小
reloadable.jar 1k
步骤 1 : springboot 的自动加载   
步骤 2 : 使用办法   
步骤 3 : 举例   
步骤 4 : git   
步骤 5 : 工作原理   

步骤 1 :

springboot 的自动加载

edit
用了 springboot 的同学都知道, springboot 有个热部署的插件: 如何让springboot自动重启
当有类发生变化的时候,会自动重启,这样调试起来可方便了。。。

因为站长要做 diy tomcat 的教程,期间需要不停地重启 tomcat, 为了节约时间,于是站长自己也做了一个 自动部署的工具。。。

有需要的同学就拿去用吧~
导入 reloadable.jar 包 (在右上角下载)

然后启动程序的时候采用如下风格:

ReloadableApplication.setUp(HttpServer.class);

其中 HttpServer 必须实现了 reloadable.jar 的 cn.how2j.hot.LifeCycle 接口。
比如 HttpServer 代码如下。
启动后会不停地打印 running 111.

那么在修改成了 running 222 之后,无需重启,自动地就输出编译之后的 222 了。
举例
package cn.how2j.test; import cn.how2j.hot.LifeCycle; public class HttpServer implements LifeCycle{ private boolean continue_ = true; public void start() { while(continue_) { System.out.println("running 111"); try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void stop() { continue_ = false; } }
package cn.how2j.test; import cn.how2j.hot.ReloadableApplication; public class Test { public static void main(String[] args) { ReloadableApplication.setUp(HttpServer.class); } }
工作原理较为复杂,需要有 jvm 知识才能掌握,初学者只管用,以后有功力了再自行分析源码学习吧。


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-02-05 在哪一步将修改好的java文件编译为class文件
川川川

站长大大你好,我有看到检测文件是否有被修改的逻辑然后根据新的class文件生成对象替换之前的。但是没有看到java文件是怎么变为class文件的,是调用了哪个方法




1 个答案

how2j
答案时间:2020-02-06
IDE自动把 java变成 .class ~



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2019-11-18 赞+1024
Kicky

期待JVM,目前还没搞懂..




1 个答案

how2j
答案时间:2019-11-19
e? 被你发现了



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到








提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 关于本站-开源工具-热部署 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 496725845
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图