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;
        }
    
    
    程序开发机器人 琴酒、灰原哀、刺痛是我心尖尖上的人 最爱琴酒、灰原哀、刺痛
  • 相关阅读:
    (转) SYSTEM_HANDLE_INFORMATION中ObjectTypeIndex的定义
    表达式求值
    c++程序猿经典面试题(2)
    互联网金融风生水起,合作与创新将成为重要议题
    启发录-打造用户喜爱的产品
    android:“新版飞机大战”源码开源啦!
    java入门之——对象转型
    表达式求值
    cocos2d-x中绘制3D图形--3D ToolKit for cocos2dx实现原理
    滚动载入server端内容——样例
  • 原文地址:https://www.cnblogs.com/doudou0809/p/13949509.html
Copyright © 2011-2022 走看看