contextrefresher:refresh()的呼叫
public
synchronized set
refresh()
public
synchronized set
refreshenvironment()
分析如下:
觸發refresh事件
1.refreshendpoint
@endpoint
(id =
"refresh"
)public
class
refreshendpoint
@writeoperation
public collection
refresh()
}
配合spring-boot-actuator使用,只需要傳送乙個針對refresh路徑的post請求即可,至於與git結合自動重新整理也是這個原理,在修改配置檔案提交後通過webhook傳送乙個post請求給相關伺服器,以達到動態重新整理的目的
2.spring-cloud-bus之refreshlistener
public
class
refreshlistener
implements
@override
public
void
}
@endpoint
(id =
"bus-refresh"
)// todo: document new id
public
class
refreshbusendpoint
extends
abstractbusendpoint
@writeoperation
public
void
busrefreshwithdestination
(@selector string destination)
@writeoperation
public
void
busrefresh()
}
這個跟refreshendpoint基本一致,只是多了個帶引數的介面
3.refresheventlistener
public
class
refresheventlistener
implements
@override
public
boolean
supportseventtype
(class<
?extends
> eventtype)
@override
public
void
else
if(event instanceof
refreshevent)}
public
void
handle
public
void
handle
(refreshevent event)
}}
Spring全家桶之spring基礎
於 15個經典的spring面試常見問題 spring模組?談談自己對於 spring ioc 和 aop 的理解 spring aop 和 aspectj aop 有什麼區別?spring 中的 bean 的作用域有哪些?spring 中的單例 bean 的執行緒安全問題了解嗎?spring 中的...
Spring 之Spring 事務傳播行為
支援當前事務的情況 transactiondefinition.propagation required 如果當前存在事務,則加入該事務 如果當前沒有事務,則建立乙個新的事務。transactiondefinition.propagation supports 如果當前存在事務,則加入該事務 如果當...
Spring開發基礎之Spring事務管理
spring提供的事務管理 spring提供的事務管理可以分為兩類 程式設計式的和宣告式的。程式設計式的,比較靈活,但是 量大,存在重複的 比較多 宣告式的比程式設計式的更靈活。傳統使用jdbc的事務管理 以往使用jdbc進行資料操作,使用datasource,從資料來源中得到connection,...