推薦一個(gè)替代JReble(原名JavaRebel)的開源產(chǎn)品 SpringLoaded
Posted on 2015-02-07 09:16 云自無心水自閑 閱讀(11148) 評論(4) 編輯 收藏最近在github上發(fā)現(xiàn)一個(gè)開源的產(chǎn)品,基本上可以替代JRebel.
https://github.com/spring-projects/spring-loaded
從其自己的網(wǎng)頁介紹中可以看到,它突破Java自帶熱加載中不能增加/修改/刪除方法的限制。SpringLoaded允許類中方法的添加和修改以及允許在類中添加新字段和構(gòu)造函數(shù)。即使是注解的修改,也能即時(shí)生效,而不是需要重啟應(yīng)用。
默認(rèn)情況下,每隔一秒種,SpringLoaded就會掃描類路徑,自動(dòng)加載改變過的類
另外,其使用方法也非常方便:
1。 下載最近的jar文件
2。 在啟動(dòng)程序時(shí),添加2個(gè)參數(shù)
-javaagent:<pathTo>/springloaded-{VERSION}.jar -noverify
當(dāng)然,它也有一些小缺限:
1。對于一些第三方框架的注解的修改,不能自動(dòng)加載,比如:spring mvc的@RequestMapping
2。log4j的配置文件的修改不能即時(shí)生效。