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;
        }
    
    
    程序开发机器人 琴酒、灰原哀、刺痛是我心尖尖上的人 最爱琴酒、灰原哀、刺痛
  • 相关阅读:
    客户端无法获取IP
    两种添加数据到WEB DropDownList 控件的方法
    DataReader的使用方法
    标准SQL的update语句三种用法
    标准SQL的update语句三种用法
    DataReader的使用方法
    DataReader的使用方法
    标准SQL的update语句三种用法
    DataReader的使用方法
    标准SQL的update语句三种用法
  • 原文地址:https://www.cnblogs.com/doudou0809/p/13949509.html
Copyright © 2011-2022 走看看