跳至主要內容

🛠️进阶配置

wind大约 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