SpringBoot的熱部署(五)

SpringBoot應用的熱部署:

  除了使用JRebel來實現熱部署,還可以使用Springboot提供的spring-boot-devtools包來完成SpringBoot應用熱部署;

<dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-devtools</artifactId>

  <optional>true</optional>

</dependency>

 IDEA按CTRL+F9編譯後就會進行熱部署

1)原理:

SpringBoot重啓是reload重啓,通過監控classpath的變化,如果classpath中的文件發生變化,即觸發重啓。SpringBoot通過兩個classpath來完成reload,一個basic classloader中加載不變的類,一個restart classloader中加載classpath中的類,重啓的時候,restart classloader中的類丟棄並重新加載;

2)排除資源:

spring.devtools.restart.exclude=static/**,templates/** (在靜態資源中也要按CTRL+F9編譯後才能進行熱部署,雖然不會重啓

spring.devtools.restart.additional-exclude=public/** (處理默認配置排除之外的)

spring.devtools.restart.enabled=false  (禁用自動重啓)

3)可以使用triggerfile的重啓策略:

spring.devtools.restart.triggerFile=trigger.file

注意這個文件不要放到default_excludes目錄下面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章