类 SmsFactory

java.lang.Object
org.dromara.sms4j.core.factory.SmsFactory

public abstract class SmsFactory extends Object
SmsFactory

构造工厂,用于获取一个厂商的短信实现对象 在调用对应厂商的短信发送方法前,请先确保你的配置已经实现,否则无法发送该厂商对应的短信,一般情况下厂商会回执因缺少的配置所造成的的异常,但组件 不会处理

作者:
:Wind 2023/4/8 15:55
  • 字段详细资料

    • BLENDS

      private static final Map<String,org.dromara.sms4j.api.SmsBlend> BLENDS

      框架维护的所有短信服务对象

      key: configId,短信服务对象的唯一标识

      value: 短信服务对象

  • 构造器详细资料

    • SmsFactory

      private SmsFactory()
  • 方法详细资料

    • createSmsBlend

      public static void createSmsBlend(org.dromara.sms4j.api.universal.SupplierConfig config)
      createSmsBlend

      创建各个厂商的实现类

      参数:
      config - 短信配置
    • createSmsBlend

      public static void createSmsBlend(SmsReadConfig smsReadConfig, String configId)
      createSmsBlend

      通过配置读取接口创建某个短信实例

      该方法创建的短信实例将会交给框架进行托管,后续可以通过getSmsBlend获取

      该方法会直接调用接口实现

      参数:
      smsReadConfig - 读取额外配置接口
      configId - 配置ID
    • createSmsBlend

      public static void createSmsBlend(SmsReadConfig smsReadConfig)
      createSmsBlend

      通过配置读取接口创建全部短信实例

      该方法创建的短信实例将会交给框架进行托管,后续可以通过getSmsBlend获取

      该方法会直接调用接口实现

      参数:
      smsReadConfig - 读取额外配置接口
    • createRestrictedSmsBlend

      @Deprecated public static void createRestrictedSmsBlend(org.dromara.sms4j.api.universal.SupplierConfig config)
      已过时。
      createRestrictedSmsBlend

      创建一个指定厂商开启短信拦截后的实例,拦截的参数取决于配置参数

      参数:
      config - 短信配置
    • createRestrictedSmsBlend

      @Deprecated public static void createRestrictedSmsBlend(SmsReadConfig smsReadConfig, String configId)
      已过时。
      createRestrictedSmsBlend

      通过配置读取接口创建某个开启短信拦截后的短信实例

      该方法创建的短信实例将会交给框架进行托管,后续可以通过getSmsBlend获取

      该方法会直接调用接口实现

      参数:
      smsReadConfig - 读取额外配置接口
      configId - 配置ID
    • createRestrictedSmsBlend

      @Deprecated public static void createRestrictedSmsBlend(SmsReadConfig smsReadConfig)
      已过时。
      createRestrictedSmsBlend

      通过配置读取接口创建全部开启短信拦截后的短信实例

      该方法创建的短信实例将会交给框架进行托管,后续可以通过getSmsBlend获取

      该方法会直接调用接口实现

      参数:
      smsReadConfig - 读取额外配置接口
    • create

      private static org.dromara.sms4j.api.SmsBlend create(org.dromara.sms4j.api.universal.SupplierConfig config)
    • renderWithProxy

      @Deprecated private static org.dromara.sms4j.api.SmsBlend renderWithProxy(org.dromara.sms4j.api.SmsBlend sms)
      已过时。
      renderWithRestricted

      构建smsBlend对象的代理对象

    • getSmsBlend

      public static org.dromara.sms4j.api.SmsBlend getSmsBlend()
      通过负载均衡服务获取短信服务对象
      返回:
      返回短信服务列表
    • getSmsBlend

      public static org.dromara.sms4j.api.SmsBlend getSmsBlend(String configId)
      通过configId获取短信服务对象
      参数:
      configId - 唯一标识
      返回:
      返回短信服务对象。如果未找到则返回null
    • getBySupplier

      public static org.dromara.sms4j.api.SmsBlend getBySupplier(String supplier)
      通过供应商标识获取单个短信服务对象

      当供应商有多个短信服务对象时无法保证获取顺序

      参数:
      supplier - 供应商标识
      返回:
      返回短信服务对象。如果未找到则返回null
    • getListBySupplier

      public static List<org.dromara.sms4j.api.SmsBlend> getListBySupplier(String supplier)
      通过供应商标识获取短信服务对象列表
      参数:
      supplier - 供应商标识
      返回:
      返回短信服务对象列表。如果未找到则返回空列表
    • getAll

      public static List<org.dromara.sms4j.api.SmsBlend> getAll()
      获取全部短信服务对象
      返回:
      短信服务对象列表
    • register

      public static void register(org.dromara.sms4j.api.SmsBlend smsBlend)
      注册短信服务对象
      参数:
      smsBlend - 短信服务对象
    • register

      public static void register(org.dromara.sms4j.api.SmsBlend smsBlend, Integer weight)
      注册短信服务对象
      参数:
      smsBlend - 短信服务对象
    • registerIfAbsent

      public static boolean registerIfAbsent(org.dromara.sms4j.api.SmsBlend smsBlend)
      以configId为标识,当短信服务对象不存在时,进行注册
      参数:
      smsBlend - 短信服务对象
      返回:
      是否注册成功

      当对象不存在时,进行注册并返回true

      当对象已存在时,返回false

    • registerIfAbsent

      public static boolean registerIfAbsent(org.dromara.sms4j.api.SmsBlend smsBlend, Integer weight)
      registerIfAbsent

      以configId为标识,当短信服务对象不存在时,进行注册。并添加至系统的负载均衡器

      参数:
      smsBlend - 短信服务对象
      weight - 权重
      返回:
      是否注册成功

      当对象不存在时,进行注册并返回true

      当对象已存在时,返回false

    • unregister

      public static boolean unregister(String configId)
      注销短信服务对象

      与此同时会注销掉负载均衡器中已经存在的对象

      参数:
      configId - 标识
      返回:
      是否注销成功

      当configId存在时,进行注销并返回true

      当configId不存在时,返回false

    • reload

      public static void reload(String configId, SmsReadConfig smsReadConfig)
      reload

      重新读取并刷新缓存内短信实例

      参数:
      configId - 配置标识
      smsReadConfig - 配置接口实现对象
    • reloadAll

      public static void reloadAll(SmsReadConfig smsReadConfig)
      reloadAll

      重新读取并刷新全部短信实例

      参数:
      smsReadConfig - 配置接口实现对象