I want to fly higher
          programming Explorer
          posts - 114,comments - 263,trackbacks - 0
          1.項目地址
              https://github.com/spring-projects/spring-loaded

          2.介紹
              Spring Loaded is a JVM agent for reloading class file changes whilst a JVM is running. It transforms classes at loadtime to make them amenable to later reloading. Unlike 'hot code replace' which only allows simple changes once a JVM is running (e.g. changes to method bodies), Spring Loaded allows you to add/modify/delete methods/fields/constructors. The annotations on types/methods/fields/constructors can also be modified and it is possible to add/remove/change values in enum types.

          3.小試牛刀
              1.下載spring-loaded:    
                  http://repo.spring.io/simple/libs-release-local/org/springframework/springloaded/1.2.3.RELEASE/springloaded-1.2.3.RELEASE.jar

              2.代碼示例(eclipse運行)
          package com.mavsplus.example.springloaded;

          import java.util.concurrent.TimeUnit;

          /**
           * <a href="https://github.com/spring-projects/spring-loaded"></a>
           * 
           * @author landon
           * @since 1.8.0_25
           
          */
          public class SpringLoadedExample {

              public static void main(String[] args) throws Exception{
                  Reload reload = new Reload();

                  while (true) {
                      reload.load();
                      
                      TimeUnit.SECONDS.sleep(3);
                  }
              }

              public static class Reload {

                  public void load() {
                      System.out.println("load!");
                  }
              }
          }

              3.運行配置VM arguments

              
                  PS:Maven工程,springloaded-1.2.3.RELEASE.jar放在了src/main/resources目錄

                  4.運行:
                      程序每隔3s輸出load

                  5.直接修改load方法的輸出,輸出reload,直接保存即可,神奇的事情出現,我們在未重啟application的情況下,進行了代碼的reload

                      





          4.后續會結合源代碼以及更深層次的例子進行剖析

          posted on 2015-06-19 14:35 landon 閱讀(5384) 評論(3)  編輯  收藏 所屬分類: JVM 、HotSwap

          FeedBack:
          # re: Spring-Loaded 使用Ⅰ-Getting Started
          2015-09-16 16:58 | cero
          我在項目中引入了springloaded之后,處理請求并返回就會報
          java.lang.String cannot be cast to org.springframework.http.MediaType
          這個錯 是為什么呢?  回復  更多評論
            
          # re: Spring-Loaded 使用Ⅰ-Getting Started
          2015-12-03 13:26 | ztr323
          按照上面的設置,為什么沒有反應?代碼改變之后輸出還是原來的?  回復  更多評論
            
          # re: Spring-Loaded 使用Ⅰ-Getting Started
          2015-12-03 14:58 | ztr323
          原來部分jvm版本不行啊  回復  更多評論
            
          主站蜘蛛池模板: 左贡县| 北流市| 旬邑县| 贵港市| 灌南县| 灌云县| 永康市| 米林县| 邵阳市| 福建省| 兰州市| 通许县| 板桥市| 炉霍县| 综艺| 清镇市| 榆树市| 加查县| 军事| 闽侯县| 沛县| 龙川县| 阳信县| 新宁县| 无锡市| 闽侯县| 吕梁市| 桃园市| 公安县| 开平市| 稷山县| 定西市| 桑植县| 阜阳市| 蒲城县| 阿拉善盟| 六枝特区| 龙岩市| 稻城县| 藁城市| 普陀区|