public class StartupListener implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if (event.getApplicationContext().getParent() == null) {
//开启线程池
try {
startThreadPool();
} catch (ClientException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
}
}
/**
* 开启阿里短信回执 线程池
*/
public void startThreadPool() throws ClientException, ParseException {
DefaultAlicomMessagePuller puller = new DefaultAlicomMessagePuller();
//设置异步线程池大小及任务队列的大小,还有无数据线程休眠时间
puller.setConsumeMinThreadSize(6);
puller.setConsumeMaxThreadSize(16);
puller.setThreadQueueSize(200);
puller.setPullMsgThreadSize(3);
//和服务端联调问题时开启,平时无需开启,消耗性能
puller.openDebugLog(false);
puller.startReceiveMsg(BaseConstants.SMS_ACCESS_KEY_ID, BaseConstants.SMS_ACCESS_KEY_SECRET, BaseConstants.SMS_MESSAGE_TYPE_1, BaseConstants.SMS_QUEUE_NAME, new SmsReportListener());
}
}
public class SmsReportListener implements MessageListener {
@Autowired
UpmsApiService mUpmsApiService;
@Override
public boolean dealMessage(Message message) {
return mUpmsApiService.dealMessage(message);
}
}
```
经过反复检查,启动线程池接收消息传入的 参数如下: 对应的 AccessKeyId (没传错) ,对应的 AccessKeySecret(没传错) ,SmsReport(写死该字符串) 订阅的队列名称为文档中指定位置获取的字符串, 如下图
按照官方的操作后 仍无法接收到订阅消息,希望帮助处理一下!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。