Explorar o código

直接调用 StoreLocalCache 的 getHost 方法获取存储节点的 IPv4 地址

reghao %!s(int64=2) %!d(string=hai) anos
pai
achega
a488ff7ba8

+ 3 - 2
oss-store/src/main/java/cn/reghao/oss/store/service/PutObjectService.java

@@ -25,13 +25,13 @@ import java.util.UUID;
 public class PutObjectService {
     private final ObjectRepository objectRepository;
     private final ObjectNameService objectNameService;
-    private final String host;
+    private final StoreLocalCache storeLocalCache;
 
     public PutObjectService(ObjectRepository objectRepository, ObjectNameService objectNameService,
                             StoreLocalCache storeLocalCache) {
         this.objectRepository = objectRepository;
         this.objectNameService = objectNameService;
-        this.host = storeLocalCache.getHost();
+        this.storeLocalCache = storeLocalCache;
     }
 
     public ObjectResult putObject(ObjectProp objectProp, String contentId, File savedFile, String originalFilename, String sha256sum) {
@@ -51,6 +51,7 @@ public class PutObjectService {
             fileMeta = new FileMeta(objectName, objectId, contentId, originalFilename, size,
                     fileType, contentType, sha256sum, pid, scope);
             String blockId = UUID.randomUUID().toString();
+            String host = storeLocalCache.getHost();
             List<DataBlock> list = List.of(new DataBlock(contentId, blockId, host, savedPath, size));
             objectRepository.saveObject(fileMeta, list);
             return new ObjectResult(objectName, objectId, fileType, savedPath);