前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >同一个类中,@Async注解未生效

同一个类中,@Async注解未生效

原创
作者头像
bug专8
修改2021-01-13 10:04:00
3.4K0
修改2021-01-13 10:04:00
举报

 @Async作用

在Spring中,基于@Async标注的方法,称之为异步方法;这些方法将在执行的时候,将会在独立的线程中被执行,调用者无需等待它的完成,即可继续其他的操作。

编码中使用@Async注解不生效

调用当前类中的异步方法,异步方法不生效。

代码语言:java
复制
@Override
public void downTensionData(Integer bfid, String beamcodes, String key) {
	try{
		String token = tensionAuthService.getToken(bfid);
		if(token!=null && !"".equals(token.trim())) {
			Map<String, Object> authUser = tensionAuthService.getAuthUser(bfid);
			downloadTensionCommon(token,String.valueOf(authUser.get("account")),bfid, beamcodes);
		}
	}catch (Exception e){
		log.error(e.getMessage());
	}finally {
		redisUtil.delete(key);
	}
}

@Async
private void downloadTensionCommon(String token,String account,Integer bfid, String productBeamNames) {
	List<Map<String, Object>> commonsTension = new ArrayList<Map<String, Object>>();
	if (token != null && !"".equals(token.trim())) {
		List<Map<String, Object>> beamFaceId = getBeamFaceId(bfid, account, productBeamNames, token);
	}
}

单独写一个异步接口或者注解

异步方法生效

代码语言:java
复制
@Autowired
private ITensionDownLoadApi tensionDownService;
	
@Override
public void downTensionData(Integer bfid, String beamcodes, String key) {
	try{
		String token = tensionAuthService.getToken(bfid);
		if(token!=null && !"".equals(token.trim())) {
			Map<String, Object> authUser = tensionAuthService.getAuthUser(bfid);
			tensionDownService.downloadTensionCommon(token,String.valueOf(authUser.get("account")),bfid, beamcodes);
		}
	}catch (Exception e){
		log.error(e.getMessage());
	}finally {
		redisUtil.delete(key);
	}
}
代码语言:java
复制
public interface ITensionDownLoadApi {
	/**
	 * @Title: downloadTensionCommon
	 * @Description: 下载张拉公共数据
	 * @param: bfid 梁场ID
	 * @param: productBeamNames 梁体编码
	 * @return: void
	 * @throws
	 */
	@Async
	void downloadTensionCommon(String token,String account,Integer bfid,String productBeamNames);
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  @Async作用
  • 编码中使用@Async注解不生效
  • 单独写一个异步接口或者注解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档