1. 程式人生 > 其它 >新專案新知識總結02

新專案新知識總結02

JUC的AtomicReference

①.AtomicReference和AtomicInteger非常類似,不同之處就在於AtomicInteger是對整數的封裝,而AtomicReference則對應普通的物件引用。也就是它可以保證你在修改物件引用時的執行緒安全性。

②.AtomicReference是作用是對”物件”進行原子操作。 提供了一種讀和寫都是原子性的物件引用變數。原子意味著多個執行緒試圖改變同一個AtomicReference(例如比較和交換操作)將不會使得AtomicReference處於不一致的狀態。

上傳阿里雲

@Override
    public void
uploadImgToOSS(ImportAssetsSaveRequest assetsSaveRequest) { String pare = assetsSaveRequest.getProjectId()+"/"; assetsSaveRequest.getImportAssets().forEach(importShot -> { if(importShot.getAssetsImgFile() != null){ String filePatch = importShot.getAssetsImg(); String imgUrl
= aliOssServiceI.upload(importShot.getAssetsImgFile() , pare + (StringUtil.isBlank(importShot.getAssetsName()) ? importShot.getTaskSubLinkName() : importShot.getAssetsName()) +"/"+importShot.getFileName() ); importShot.setAssetsImg(imgUrl); logger.info("上傳檔案至阿里雲:{},上傳後路徑{}" , filePatch , importShot.getAssetsImg()); } }); }
@Service暴露的服務介面
import org.apache.dubbo.config.annotation.Service;
在暴露的服務介面實現類中使用

 @Reference引用服務

@Reference
private SystemUserRestServicesI systemUserRestServicesI;
<!-- 配置包掃描器,alibaba的@Service註解 -->
<dubbo:annotation package="com.zm.service" />

<!-- 提供方應用資訊,用於計算依賴關係 -->
<dubbo:application name="e3-manager" />
<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
<!-- 用dubbo協議在20880埠暴露服務 -->
<dubbo:protocol name="dubbo" port="20880" />

流程圖