跳至主要內容

☂️基础配置

wind大约 4 分钟

在3.0中,配置内容和配置方式相较之前版本有所变动,以下为配置的内容

SmsConfig配置

SmsConfig绝大部分为非必须配置,依照自己需求进行修改即可

字段名 yml名称 类型 默认值 作用
configType config-type ConfigType枚举 ConfigType.YAML 配置源类型用于标定配置来源
restricted restricted Boolean false 用于标定yml中的配置是否开启短信拦截,接口配置不受此限制
accountMax account-max Integer 0 短信拦截限制单手机号每日最大发送量,只对开启了拦截的配置有效
minuteMax minute-max Integer 0 短信拦截限制单手机号每分钟最大发送,只对开启了拦截的配置有效
corePoolSize core-pool-size Integer 10 核心线程池大小,主要用于异步短信线程池
maxPoolSize max-pool-size Integer 30 核心线程池最大线程数,主要用于异步短信线程池
queueCapacity queue-capacity Integer 50 核心线程池队列容量,主要用于异步短信线程池
shutdownStrategy shutdown-strategy Boolean true 设置线程池关闭的时候等待所有任务都完成再继续销毁其他的Bean
HttpLog Http-log Boolean false 是否打印http log
isPrint is-print Boolean true 是否打印banner
blends blends Map null 短信厂商核心配置容纳,详细请看厂商配置解析

缓存配置

缓存在框架中主要用于短信重试和拦截的临时性缓存。
sms4j 3.0中有基于内存实现的缓存系统,但是此缓存并没有持久化能力,如果你想使用自己的缓存系统或者自己实现缓存,sms4j框架也预留了相应的接口
位置及名称:

org.dromara.sms4j.api.dao.SmsDao

接口详情:

public interface SmsDao {

    /**
     * 存储
     *
     * @param key       键
     * @param value     值
     * @param cacheTime 缓存时间(单位:秒)
     */
    void set(String key, Object value, long cacheTime);

    /**
     * 存储
     *
     * @param key   键
     * @param value 值
     */
    void set(String key, Object value);

    /**
     * 读取
     *
     * @param key 键
     * @return 值
     */
    Object get(String key);

    /**
     * 清空
     */
    void clean();
}

黑名单配置

为了统一SMS4J的使用入口,使用SmsBlend对象操作黑名单

class Test{
    void testBlackList(){
        String PHONE = "1XXAAAABBBB";
        SmsBlend smsBlend = SmsFactory.getBySupplier(SupplierConstant.任意);
        //单黑名单添加
        smsBlend.joinInBlacklist(PHONE);
        //单黑名单移除
        smsBlend.removeFromBlacklist(PHONE);
        //批量黑名单添加
        smsBlend.batchJoinBlacklist(Collections.singletonList(PHONE));
        //批量黑名单移除
        smsBlend.batchRemovalFromBlacklist(Collections.singletonList(PHONE));
    }
}

注意

你需要知道:黑名单是存放于SmsDao中的,默认是Java的Map,一旦重启便被释放,如需保存需要有持久化的机制,推荐自行实现SmsDao