diff --git a/bin/library.sh b/bin/library.sh index d6b2100..40ea344 100755 --- a/bin/library.sh +++ b/bin/library.sh @@ -3,7 +3,7 @@ encrypt_username=AxhEbscwsJDbYMH2 encrypt_password=cYxg3b4PtWoVD5SjFayWxtnSVsjzRsg4 -upload_url=http://$encrypt_username:$encrypt_password@132.126.207.34:36800 +upload_url=http://$encrypt_username:$encrypt_password@132.126.207.124:36800 root_path=$(dirname $(cd $(dirname $0);pwd)) diff --git a/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/controller/FileController.java b/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/controller/FileController.java index 73f5652..b4a8796 100644 --- a/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/controller/FileController.java +++ b/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/controller/FileController.java @@ -26,8 +26,9 @@ public class FileController { private static final Logger logger = LoggerFactory.getLogger(FileController.class); private final UploadAndDownloadService service; - public FileController(UploaderConfiguration uploaderConfiguration, ApplicationContext applicationContext) { - this.service = applicationContext.getBean(uploaderConfiguration.getBackend(), UploadAndDownloadService.class); + @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") + public FileController(UploadAndDownloadService service) { + this.service = service; } @RequestMapping("upload/{filename}") diff --git a/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/HdfsUploadAndDownloadService.java b/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/HdfsUploadAndDownloadService.java index 8b6681a..b3930f3 100644 --- a/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/HdfsUploadAndDownloadService.java +++ b/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/HdfsUploadAndDownloadService.java @@ -12,6 +12,7 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; /** @@ -20,7 +21,8 @@ import org.springframework.stereotype.Service; * @author lanyuanxiaoyao * @date 2024-01-24 */ -@Service("hdfs") +@Service +@ConditionalOnProperty(value = "uploader.backend", havingValue = "hdfs") public class HdfsUploadAndDownloadService implements UploadAndDownloadService { private static final Logger logger = LoggerFactory.getLogger(HdfsUploadAndDownloadService.class); private final UploaderConfiguration uploaderConfiguration; @@ -29,16 +31,12 @@ public class HdfsUploadAndDownloadService implements UploadAndDownloadService { public HdfsUploadAndDownloadService(UploaderConfiguration uploaderConfiguration) throws IOException { this.uploaderConfiguration = uploaderConfiguration; this.configuration = new Configuration(); - - logger.info("Create tmp dir: {}", uploaderConfiguration.getTmpDir()); - try (FileSystem fileSystem = FileSystem.get(configuration)) { - fileSystem.mkdirs(new Path(uploaderConfiguration.getTmpDir())); - } } @Override public void upload(String filename, InputStream inputStream) throws Exception { try (FileSystem fileSystem = FileSystem.get(configuration)) { + fileSystem.mkdirs(new Path(uploaderConfiguration.getTmpDir())); FSDataOutputStream outputStream = fileSystem.create(new Path(uploaderConfiguration.getTmpDir(), filename), true); IoUtil.copy(inputStream, outputStream); } diff --git a/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/LocalUploadAndDownloadService.java b/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/LocalUploadAndDownloadService.java index 96b4b45..eff9455 100644 --- a/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/LocalUploadAndDownloadService.java +++ b/service-uploader/src/main/java/com/lanyuanxiaoyao/service/uploader/service/filesystem/LocalUploadAndDownloadService.java @@ -9,6 +9,7 @@ import java.nio.file.Files; import java.nio.file.Paths; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; /** @@ -17,19 +18,19 @@ import org.springframework.stereotype.Service; * @author lanyuanxiaoyao * @date 2024-01-24 */ -@Service("local") +@Service +@ConditionalOnProperty(value = "uploader.backend", havingValue = "local") public class LocalUploadAndDownloadService implements UploadAndDownloadService { private static final Logger logger = LoggerFactory.getLogger(LocalUploadAndDownloadService.class); private final UploaderConfiguration uploaderConfiguration; public LocalUploadAndDownloadService(UploaderConfiguration uploaderConfiguration) throws IOException { this.uploaderConfiguration = uploaderConfiguration; - logger.info("Create tmp dir: {}", uploaderConfiguration.getTmpDir()); - Files.createDirectories(Paths.get(uploaderConfiguration.getTmpDir())); } @Override public void upload(String filename, InputStream inputStream) throws Exception { + Files.createDirectories(Paths.get(uploaderConfiguration.getTmpDir())); IoUtil.copy(inputStream, Files.newOutputStream(Paths.get(uploaderConfiguration.getTmpDir(), filename))); }