引入讨论: 热修复当前是很流行的技术,在Android平台,我们可以使用Andfix、Hotfix和Tinker等技术。实际上,在java程序中,热修复技术远比Android多的多。最原始的ClassLoader重新加载(ClassLoader来实现,ClassLoader具有一个明显的缺陷——无法卸载旧资源),还有最时髦的javassist或者asm工具包,甚至我们可以借助JNI、J2V8或者RPC(WebService,JSONRPC,dwr,Thrift)方式来实现功能的修复和替换。
问题描述:现在有了JFinal确实大大提高了项目开发效率问题,但现在唯一的问题就是每次开发修改或添加功能都需要重启容器,真的很繁琐。
问题建议:JFinal框架层实现热加载,也在就添routes、interceptor、validateor、handler,不用手动重启容器就可能愉快的无感开发。
问题调查:在这其间有尝试了很多,比如ide自带基于(HotSwap)、容器自带热部署(Hot deploy)、商业插件jrebel,真心不好用,要么不支持,要么有延迟,要么热得不行,最主要是这些对咱们大JFinal支持真心不行,这或许机制不一样导致。
但 jfinal 4.0 以后,社区重点在于自由开发者联盟,资源有限要有取舍