中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

java~通(tong)過springloaded實現熱部署

之前寫(xie)過使用自定義(yi)的classLoader進行動(dong)態加載,熱(re)部署(shu);它(ta)有(you)很多弊端,我總(zong)結一下(xia):

  1. 當前項目不能引用第三方包
  2. 當前項目必須使用反射的方式調用第三方包的方法
  3. 寫死的一些路徑

springloaded

源碼:
功能:實現java項目的依賴包(bao)的熱(re)更新(xin)

研(yan)究(jiu)了(le)一天,終于研(yan)究(jiu)出了(le)成功了(le),國內也(ye)有不少這方(fang)面(mian)的文章,但也(ye)有一些坑,所以我總結(jie)一下:

  • 源項目 a-start-hot-deploy
  • 依賴項目 a-start-hot-dependency
  • 工具 springloaded 1.2.5 ()

實現方式

a-start-hot-dependency里有一個類


public class HelloImpl implements Hello {
    @Override
    public String password() {
        return "hello 牛";
    }
}

添加項目依賴

   <dependency>
            <groupId>com.lind</groupId>
            <artifactId>a-start-hot-dependency</artifactId>
            <version>1.0.0</version>
   </dependency>

依賴也里方法調用

  @GetMapping("auto")
    public ResponseEntity auto() {
        return ResponseEntity.ok(new HelloImpl().password());
    }

部署方式

  1. 復制三個包到發布的目錄springloaded-1.2.5.RELEASE.jar,a-start-hot-deploy-1.0.0.jar,a-start-hot-dependency-1.0.0.jar
  2. 使用java命令進行部署java -noverify -javaagent:D:/springloaded-1.2.5.RELEASE.jar -Dspringloaded="watchJars=a-start-hot-dependency-1.0.0.jar" -jar a-start-hot-deploy-1.0.0.jar
  3. 當前a-start-hot-dependency-1.0.0.ja有更新時,可以看到控制臺的變化
    依賴包被更新后的事件圖

看了(le)很多文章(zhang),寫的命令都有問題,最后(hou)還是機緣巧合的成功(gong)了(le)!

posted @ 2020-11-24 16:42  張占嶺  閱讀(2225)  評論(0)    收藏  舉報