【Soul閘道器探祕】http資料同步-Admin通知前處理
阿新 • • 發佈:2021-01-29
## 引言
本篇開始研究 Soul 閘道器 http 資料同步,將分為三篇進行分析:
- 《Admin通知前處理》
- 《變更通知機制》
- 《Bootstrap處理變更通知》
希望三篇完結後能對 Soul 的 http 資料同步策略有所收穫。
本篇旨在探究 `soul-admin` 端在發起變更通知前所做的處理。
不同資料變更的處理模式應當是一致的,故本篇以 selector 配置變更為切入點進行深入。
## 一、配置變更入口
找到 SelectorController,這是 selector 配置變更的入口
![image-20210129065312321](https://gitee.com/stephenshen/pic-bed/raw/master/img/20210129065312.png)
其持有一個 SelectorService 引用,通過 SelectorService 實現 selector 配置變更。
## 二、配置變更服務
再來看看 SelectorService,實現了配置變更的具體處理。
![image-20210129065816692](https://gitee.com/stephenshen/pic-bed/raw/master/img/20210129065816.png)
其內部持有5個 mapper、1個 eventPublisher和1個 upstreamCheckService,對外提供一系列對 selector 的crud方法
注意 createOrUpdate 方法
```java
public int createOrUpdate(final SelectorDTO selectorDTO) {
int selectorCount;
SelectorDO selectorDO = SelectorDO.buildSelectorDO(selectorDTO);