在项目线上更新时,可能会遇到需要热部署的情况,虽然现在大多数公司由于业务量大采用了分布式集群,可以分批次的重启更新。但是还是有需要热部署,这里留个笔记。
这里以web项目用到的springloaded-1.2.5.RELEASE.jar,做一个测试:
1、首先eclipse开发测试,写一个线程Test,每个几秒打印,然后中间增加一个方法,然后调用。运行时,右键运行配置->Jvm配置加上这个。
-javaagent:D/JAVA/springloaded-1.2.3.RELEASE.jar -noverify
把jspringloaded-1.2.5.RELEASE.jar放到tomcat的bin目录下,并修改该目录下catalina.bat添加一行
set JAVA_OPTS=-javaagent:springloaded-1.2.5.RELEASE.jar -noverify
之后更新,直接扔新的class文件覆盖旧的,就可以了。