zoukankan      html  css  js  c++  java
  • 记录一下 spring boot 线程处理返回数据

    @Api
    @Controller
    public class FileController {
    
    
        private final static ExecutorService executor = Executors.newFixedThreadPool(2);
        private static Logger logger = LoggerFactory.getLogger(FileController.class);
    
        @Autowired
        private FileService fileService;
    
    
        @PostMapping("/uploadFile")
        @ApiResponse
        @ApiOperation(value = "上传文件", httpMethod = "POST")
        @PassToken
        public FileResponse uploadFile(@RequestParam("file") MultipartFile multipartFile) throws ApiException {
    
            FileResponse fileResponse = new FileResponse();
            fileResponse.setFilepath(fileService.uploadFile(multipartFile));
            return fileResponse;
    
        }
    
    
        @PostMapping("/uploadVideoFile")
        @ApiResponse
        @ApiOperation(value = "上传文件", httpMethod = "POST")
        @PassToken
        public FileResponse uploadVideoFile(@RequestParam("file") MultipartFile multipartFile) throws Exception {
    
            FileResponse fileResponse = new FileResponse();
    
            final CountDownLatch end = new CountDownLatch(2);
            executor.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        fileResponse.setFilepath(fileService.uploadFile(multipartFile));
                    }  catch(Exception e){
                        fileResponse.setFilepath(null);
                        logger.error(e.getMessage());
                    }finally{
                        end.countDown();
                    }
    
                }
    
            });
            executor.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        fileResponse.setVideFilePath(fileService.cutImage(multipartFile, 1));
                    } catch (Exception e) {
                        fileResponse.setVideFilePath(null);
                        logger.error(e.getMessage());
                    } finally {
                        end.countDown();
                    }
    
                }
    
            });
            end.await();
            return fileResponse;
        }
    
    
    程序开发机器人 琴酒、灰原哀、刺痛是我心尖尖上的人 最爱琴酒、灰原哀、刺痛
  • 相关阅读:
    vue表单:输入身份证号码则自动获取对应的年龄和性别,,若不输入身份证号则自己填写年龄和性别
    el-input 电话号码输入时加上空格(344)
    vue图片上传---融合裁剪功能
    shell 基本编程
    virtualbox 安装centos ,运行shell 脚本
    js 检测变量类型
    js deepCopy
    python 安装requests库
    python 识别文件 文件夹
    python 删除非空文件夹
  • 原文地址:https://www.cnblogs.com/doudou0809/p/13949509.html
Copyright © 2011-2022 走看看