最近在做项目的日志管理模块,操作日志和登录日志是通过Spring的@Aspect切面完成的。可是异步业务和注解的切面不在同一线程,这样执行完异步方法后就没法进入切面类记录操作日志了。这可该咋办,求大神指教!!!
   这个异步业务是对excel表的导入,如下,发送请求到importData方法,然后调用syncHandleData方法,可是方法执行完后,importData方法上面的日志可记录,异步方法上的不可以。
   @OperateLogNote(module = "采集", name = "导入数据", type = OperateLogType.IMPORT,
content="开始导入报告数据,批次logVar",code="collect")
    @RequestMapping(value = "/import/{batchId}",method = RequestMethod.POST)
    @ResponseBody
    public Map<String,Object> importData(@RequestParam("file") MultipartFile file,@PathVariable(value = "batchId") Long batchId){
        Map<String,Object> resultMap = CommonUtils.getSucResultMap();
        try {//里面调用包含异步方法
            resultMap = dataCollectionService.importExeclData(file,batchId);
        }catch (Exception e){
            logger.error("导入错误:"+e);
            resultMap = CommonUtils.getWarnResultMap("导入数据失败:"+e.getMessage());
        }
        return resultMap;
    }    @OperateLogNote(module = "采集", name = "导入数据", type = OperateLogType.IMPORT,
content="成功导入了报告数据,批次logVar",code="collect")
    @Async("asyncExecutor")
    public void syncHandleData(String filePath, Long batchId,ShiroUser shiroUser) {
        logger.info("开始异步处理文件【"+filePath+"】");
        Long startTime = System.currentTimeMillis();
    }