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;
        }
    
    
    程序开发机器人 琴酒、灰原哀、刺痛是我心尖尖上的人 最爱琴酒、灰原哀、刺痛
  • 相关阅读:
    POJ 3080 Blue Jeans
    POJ 1961 Period
    POJ 2185 Milking Grid
    POJ 2752 Seek the Name, Seek the Fame
    斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌
    MyEclipse 免安装版制作
    网络子系统48_ip协议数据帧的发送
    Oracle sql语句执行顺序
    当OOP语言RAII特性发展到functional形式的极致
    FusionCharts属性大全
  • 原文地址:https://www.cnblogs.com/doudou0809/p/13949509.html
Copyright © 2011-2022 走看看