<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    spring-loaded熱部署

    什么是spring-loaded?

    spring-loaded是一個對于jvm代理運行時期改變類文件的重載(重新加載),它轉換類loadtime讓他們服從后重新加載。不像“熱代碼替換”只允許一次簡單的改變JVM運行(例如更改方法體)spring-loaded允許您添加/修改/刪除/字段/方法構造函數。注釋類型/方法/字段/構造函數也可以修改和可以添加/刪除/修改值的枚舉類型。

    有什么好處?

    開發測試階段:能夠在啟動后動態更改代碼調試,無需重啟減少切換debug時間(ps:對于eclipse而言,在debug時期只能做到動態更新方法體不能增加)
    對于線上測試發布階段: 能夠在出現問題后直接替換class文件而不重啟應用(ps:對于外部提供的服務jar形式同樣能做到)
    怎么使用?

    項目地址

    https://github.com/spring-projects/spring-loaded

    第一步:下載文件
    http://repo.spring.io/release/org/springframework/springloaded/1.2.5.RELEASE/springloaded-1.2.5.RELEASE.jar

    第二步:配置jvm啟動參數

    eclipse
    eclipse:run as --> run configurations --> arguments -->> VM arguments
    -javaagent:E:\repository\org\springframework\spring-load\springloaded-1.2.5.RELEASE.jar 
    -noverify -Dspringloaded=verbose
    詳細描述:
    -javaagent: 配置java代理使用下載后的jar包路徑
    -noverify: 禁用字節碼驗證
    -Dspringloaded=verbose 顯示springloaded時的詳細信息


    image

    java命令啟動

    java -javaagent:E:\repository\org\springframework\spring-load\springloaded-1.2.5.RELEASE.jar -noverify Test  類似 

    java jar包動態替換

    1.打成runnable Jar
    2.命令啟動:

    java -javaagent:E:\repository\org\springframework\spring-load\springloaded-1.2.5.RELEASE.jar -noverify -Dspringloaded=watchJars=main.jar main.jar

    /**  * 類Test.java的實現描述:TODO 類實現描述   * @author Administrator 2016年7月4日 下午4:55:59  */ public class Test {     public static void main(String[] args) throws InterruptedException {          while(true) {             try {                 println();                 Thread.sleep(1000);             } catch (Throwable e) {                  e.printStackTrace();              }          }       }     public static void println() {          System.out.println("112222221222222");          }  } 

    改變為

    /**  * 類Test.java的實現描述:TODO 類實現描述   * @author Administrator 2016年7月4日 下午4:55:59  */ public class Test {     public static void main(String[] args) throws InterruptedException {          while(true) {             try {                 println();                 Thread.sleep(1000);             } catch (Throwable e) {                  e.printStackTrace();              }          }       }     public static void println() {          System.out.println("test replace jar");          }  } 
    3.重新打包替換
    PS:實測在window下無用 手上無linux機器待測試




    1

    posted on 2016-09-11 10:40 paulwong 閱讀(2013) 評論(0)  編輯  收藏 所屬分類: SPRING

    主站蜘蛛池模板: 国产又大又粗又长免费视频| 免费一区二区视频| 亚洲成熟丰满熟妇高潮XXXXX| 波多野结衣视频在线免费观看| 国产精品青草视频免费播放| 亚洲综合一区二区精品导航| 免费看美女让人桶尿口| 亚洲av日韩av天堂影片精品| 久久毛片免费看一区二区三区| 亚洲国产精品一区二区九九 | a视频在线免费观看| 久久亚洲欧洲国产综合| 免费很黄无遮挡的视频毛片| 国产免费无遮挡精品视频| 亚洲丁香婷婷综合久久| 亚洲中文久久精品无码| 你懂的网址免费国产| 亚洲精品亚洲人成在线播放| 爱情岛论坛网亚洲品质自拍| 免费精品人在线二线三线区别| 日韩亚洲国产高清免费视频| 亚洲深深色噜噜狠狠爱网站| 在线不卡免费视频| 无码一区二区三区免费| 亚洲国产日韩在线成人蜜芽| 亚洲欧洲中文日韩av乱码| 美女被cao免费看在线看网站| 亚洲精品无码成人| 免费吃奶摸下激烈视频| 国产精品视频免费观看| 三年在线观看免费观看完整版中文| 亚洲色大成网站www久久九| 7777久久亚洲中文字幕蜜桃 | 亚洲第一页日韩专区| 日韩不卡免费视频| 无码人妻久久一区二区三区免费 | 黄色网址在线免费| 国产精品免费αv视频| 久久久亚洲精华液精华液精华液 | 久久久久久亚洲Av无码精品专口| 亚洲视频在线免费|