🛠️进阶配置
大约 3 分钟
功能配置
自2.2.0版本起 redis不再强制要求为springboot的集成版,用户可以通过实现位于org.dromara.sms4j.api.universal
的接口RedisUtil
来改变框架调用缓存的方式
sms:
# 自2.1.0版本开始,sms4j短信拦截实现已发生改变,详情请参见常用工具
# 是否开启短信发送限制 默认false
# restricted: false
# 以下设置仅在开启短信发送限制后生效
# 是否使用redis进行缓存 默认false
redis-cache: false
# 单账号每日最大发送量
account-max: 20
# 单账号每分钟最大发送
minute-max: 2
#默认厂商配置来源 此处为枚举设置,支持sql和配置文件,默认为从yml配置文件获取,如无需求可不改变
config-type: config-file
#启用框架banner打印,默认开启状态
is-print: true
提示
发送限制功能依赖于缓存,在工具的内部实现了一个基于内存的缓存,胜在不依赖于任何第三方组件和中间件,
但是目前版本的缓存中并不支持持久化,也就是说在项目进行重启后,缓存的内容会丢失,限制也会消失,
所以在这里如果项目中集成了SpringBoot的redis工具,这里建议开启redisCache: true
。工具会自动使用redis进行缓存。
线程池配置
鉴于很多的短信厂商并不支持异步短信的发送,为了统一一个异步发送的标准功能,我们在工具中添加了一个线程池,异步短信会使用线程池中托管的线程执行。
线程池可以根据自己的需求进行配置,也可以不进行配置使用框架默认的配置。
# 以下数值为默认线程池的配置,可以根据自己的需求进行修改
sms:
#核心线程池大小
corePoolSize: 10
#最大线程数
maxPoolSize: 30
#队列容量
queueCapacity: 50
#设置线程池关闭的时候等待所有任务都完成再继续销毁其他的Bean
shutdownStrategy: true