WxSendMsgResult res = new WxSendMsgResult();
res.setSmsId(smsId);
res.setDescription("正在推送");
int i = weixinMesssageService.insertWxSendMsgResult(res);
if (i == 1) {
logger.info("开始线程异步推送消息--BatchSendMessageThread start");
//txtFile应先转换成流后传入
fixedThreadPool.execute(new BatchSendMessageThread(templateJson, txtFile, weixinMesssageService, wxAccount,
smsId, batchKey, semaphore));
} else if (i == 2) {
异步启动线程,传入的是txtFile (MultipartFile) ,当线程阻塞时, 线程等待了一段时候后.再去读取txtFile, 就会报异常.
解决的办法大概有三种,1,控制线程阻塞时间. 不允许阻塞(控制上传速率,). 2,按别人说的将maxInMemorySize扩大(参考:http://lawrencej.iteye.com/blog/2262675).3,将txtFile 获取后转移到临时文件,用完后手动删除(参考:https://www.cnblogs.com/yxh1008/p/6537863.html).