master
zhang chengzhi 2024-09-06 10:46:38 +08:00
parent 003440340d
commit 84069ba64e
1 changed files with 31 additions and 34 deletions

View File

@ -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 @Override
public void run(ApplicationArguments args) throws Exception { public void run(ApplicationArguments args) throws Exception {
log.info("开始从Oss下载规则引擎"); log.info("开始从Oss下载规则引擎");
OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret); OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret);
// 获取存储桶信息 // 获取存储桶信息
ObjectListing objectListing = ossClient.listObjects(bucketName); ObjectListing objectListing = ossClient.listObjects(bucketName);
// 循环获取存储桶中的所有对象 // 循环获取存储桶中的所有对象
for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) { for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) {
String key = objectSummary.getKey(); String key = objectSummary.getKey();
downloadFile(ossClient, bucketName, key,serverClassPath ); 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); File serverFile = new File(serverPath, key);
//如果目录不存在,则创建目录 //如果目录不存在,则创建目录
if (!serverFile.getParentFile().exists()){ if (!serverFile.getParentFile().exists()) {
serverFile.getParentFile().mkdirs(); serverFile.getParentFile().mkdirs();
} }
//下载文件到项目中 //下载文件到项目中
OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, key)); OSSObject ossObject = ossClient.getObject(new GetObjectRequest(bucketName, key));
try(FileOutputStream fos = new FileOutputStream(serverFile);){ try (FileOutputStream fos = new FileOutputStream(serverFile);) {
byte[] buffer = new byte[1024]; byte[] buffer = new byte[1024];
int byteRead; int byteRead;
while ((byteRead = ossObject.getObjectContent().read(buffer)) != -1){ while ((byteRead = ossObject.getObjectContent().read(buffer)) != -1) {
fos.write(buffer,0,byteRead); 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();
} }
}
} }