在日常的开发过程中,短信的发送经常使用(尤其是中小型的外包公司),毕竟不是每个公司都有阿里腾讯一样的实力,也不是每个都像银行联通等公司一样有内部的短信规程。第三方的短信往往是最常见的解决方案,但是市面上第三方短信服务商众多,各家都有不同的方式和标准,每次需要使用时候,都需要花费时间去阅读文档和编写相应的工具,为一个短信浪费了太多的精力和时间。这个工具的目的就是为了统一下各个厂商的短信发送工具的标准,甚至于更换短信厂商只需要更改yml配置文件即可。
在SpringBoot环境集成maven引入<dependency><groupId>kim.wind</groupId><artifactId>sms-aggregation-spring-boot-starter</artifactId><version>version</version></dependency> 最新版本请查看官网或gitee仓库最新的master版本会发布至maven中央仓库设置配置文件sms:#短信服务商supplier:alibaba#是否开启短信发送限制默认falserestricted:true#以下设置仅在开启短信发送限制后生效#是否使用redis进行缓存默认falseredisCache:true#单账号每日最大发送量accountMax:20#单账号每分钟最大发送minuteMax:2 阿里云配置示意sms:#短信服务商supplier:alibabaalibaba:#阿里云的accessKeyaccessKeyId:您的accessKey#阿里云的accessKeySecretaccessKeySecret:您的accessKeySecret#短信签名signature:测试签名#模板ID用于发送固定模板短信使用templateId:SMS_215125134#模板变量上述模板的变量templateName:code#请求地址默认为dysmsapi.aliyuncs.com如无特殊改变可以不用设置requestUrl:dysmsapi.aliyuncs.com 方法使用publicclassDemo{//此处作为演示使用,推荐使用构造注入或set注入@AutowiredprivatefinalSmsBlendsms;publicvoidtest(){//发送固定模板短信SmsResponsesmsResponse=sms.sendMessage("18888888888","测试固定模板短信");System.out.println(smsResponse);}} 配置详解线程池配置每一家厂商都对于异步短信有不同的支持,有些甚至没有,为了统一存在一个异步短信,我们配置了一个线程池用于执行异步短信任务,线程池默认配置如下:sms:#核心线程池大小corePoolSize:10#最大线程数maxPoolSize:30#队列容量queueCapacity:50#活跃时间keepAliveSeconds:60#线程名字前缀threadNamePrefix:sms-executor-#设置线程池关闭的时候等待所有任务都完成再继续销毁其他的BeanshutdownStrategy:true点击空白处退出提示
评论