SpringBoot 异步调用

SpringBoot 异步调用

1 开发场景说明

项目有个功能是在处理请求后推送公众号消息给用户。
请求的响应无需等到推送公众号消息之后,此时公众号消息推送应选择异步调用。

2 使用

1)启动类添加注解@EnableAsync,开启异步调用

@SpringBootApplication
@EnableAsync
public class WxappApplication {

	public static void main(String[] args) {
		SpringApplication.run(WxappApplication.class, args);
	}

	@Bean
	public TaskScheduler taskScheduler() {
		ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
		//设置线程池大小
		taskScheduler.setPoolSize(10);

		return taskScheduler;
	}
}

2)另一个类下创建异步方法,使用@Async注解(在同一类下的@Async注解无效

@Service
public class UsrNoticeServiceImpl  implements IUsrNoticeService {

	@Async
    public void sendAwardNotice(){
        //...
    }
}

3)异步调用

@RestController
public class UsrAwardController extends BaseController {
	@Autowired
    private IUsrNoticeService noticeService;

	@RequestMapping(value = "/sendAward", method = RequestMethod.POST)
    public ResponseMessage<UsrAward> sendAward(@RequestBody JSONObject jsonObject) {
	    //业务处理
	    UsrAward award = insertAward();
		//公众号消息推送
		noticeService.sendAwardNotice();
		
		return apiResultMap("赠送成功", award);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值