Posted on 2015-02-07 09:16
云自无心水自闲 阅读(11060)
评论(4) 编辑 收藏
最近在github上发现一个开源的产品,基本上可以替代JRebel.
https://github.com/spring-projects/spring-loaded
从其自己的网页介绍中可以看到,它突破Java自带热加载中不能增加/修改/删除方法的限制。
SpringLoaded允许类中方法的添加和修改以及允许在类中添加新字段和构造函数。即使是注解的修改,也能即时生效,而不是需要重启应用。
默认情况下,每隔一秒种,SpringLoaded就会扫描类路径,自动加载改变过的类
另外,其使用方法也非常方便:
1。 下载最近的jar文件
2。 在启动程序时,添加2个参数
-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify
当然,它也有一些小缺限:
1。对于一些第三方框架的注解的修改,不能自动加载,比如:spring mvc的@RequestMapping
2。log4j的配置文件的修改不能即时生效。