From 84069ba64e1df3937e33e94aa2470f12241a50f0 Mon Sep 17 00:00:00 2001 From: zhang chengzhi <3144712872@qq.com> Date: Fri, 6 Sep 2024 10:46:38 +0800 Subject: [PATCH] 11111 --- .../server/DownloadOssSynchronization.java | 65 +++++++++---------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/cloud-rule-server/src/main/java/com/muyu/rule/server/DownloadOssSynchronization.java b/cloud-rule-server/src/main/java/com/muyu/rule/server/DownloadOssSynchronization.java index af3eb1a..a5b688b 100644 --- a/cloud-rule-server/src/main/java/com/muyu/rule/server/DownloadOssSynchronization.java +++ b/cloud-rule-server/src/main/java/com/muyu/rule/server/DownloadOssSynchronization.java @@ -38,57 +38,54 @@ public class DownloadOssSynchronization implements ApplicationRunner { /** * 服务器项目路径放文件 */ - private static String serverClassPath ="home/lib/com/muyu/rule/common/engine/value/"; + private static String serverClassPath = "home/lib/com/muyu/rule/common/engine/value/"; -private static String bucketName = "zcz-vfd-1000"; + private static String bucketName = "zcz-vfd-1000"; @Override public void run(ApplicationArguments args) throws Exception { log.info("开始从Oss下载规则引擎"); OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret); - // 获取存储桶信息 - ObjectListing objectListing = ossClient.listObjects(bucketName); - // 循环获取存储桶中的所有对象 - for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) { - String key = objectSummary.getKey(); - downloadFile(ossClient, bucketName, key,serverClassPath ); - } + // 获取存储桶信息 + ObjectListing objectListing = ossClient.listObjects(bucketName); + // 循环获取存储桶中的所有对象 + for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) { + String key = objectSummary.getKey(); + downloadFile(ossClient, bucketName, key, serverClassPath); + } + // 关闭OSSClient + ossClient.shutdown(); - // 关闭OSSClient - ossClient.shutdown(); - - //下载完成实现批量批量类加载 - - + //下载完成实现批量批量类加载 } -private void downloadFile(OSS ossClient, String bucketName, String key, String serverPath){ + private void downloadFile(OSS ossClient, String bucketName, String key, String serverPath) { //创建服务器项目容器的文件目录路径 - File serverFile = new File(serverPath, key); - //如果目录不存在,则创建目录 - if (!serverFile.getParentFile().exists()){ - serverFile.getParentFile().mkdirs(); - } - //下载文件到项目中 - OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, key)); - - try(FileOutputStream fos = new FileOutputStream(serverFile);){ - byte[] buffer = new byte[1024]; - int byteRead; - while ((byteRead = ossObject.getObjectContent().read(buffer)) != -1){ - fos.write(buffer,0,byteRead); + File serverFile = new File(serverPath, key); + //如果目录不存在,则创建目录 + if (!serverFile.getParentFile().exists()) { + serverFile.getParentFile().mkdirs(); + } + //下载文件到项目中 + OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, key)); + + try (FileOutputStream fos = new FileOutputStream(serverFile);) { + byte[] buffer = new byte[1024]; + int byteRead; + while ((byteRead = ossObject.getObjectContent().read(buffer)) != -1) { + fos.write(buffer, 0, byteRead); + } + log.info("文件 " + key + "已经下载到" + serverFile.getAbsolutePath()); + } catch (IOException e) { + log.error("下载文件失败:" + key); + e.printStackTrace(); } - log.info("文件 " +key +"已经下载到" + serverFile.getAbsolutePath()); - }catch (IOException e){ - log.error("下载文件失败:"+key); - e.printStackTrace(); } -} }