Module bus.starter

Class NotifyService

java.lang.Object
org.miaixz.bus.starter.notify.NotifyService

public class NotifyService extends Object
通知服务提供类,用于管理和创建各种消息通知服务提供者实例。 该类维护了一个通知组件的缓存,支持通过配置或手动注册方式添加通知组件。

该类支持多种消息通知方式,包括但不限于:

  • 短信服务:阿里云、腾讯云、华为云、百度云、网易云、七牛云等
  • 邮件服务:阿里云邮件、通用邮件
  • 企业通讯:钉钉、企业微信
  • 微信通知:公众号、小程序、客服消息等

使用示例:

 // 创建配置
 NotifyProperties properties = new NotifyProperties();
 // 创建服务
 NotifyProviderService service = new NotifyProviderService(properties);
 // 获取阿里云短信服务提供者
 Provider smsProvider = service.require(Registry.ALIYUN_SMS);
 // 发送短信
 smsProvider.send("手机号", "短信内容");
 
Since:
Java 17+
Author:
Justubborn
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    通知配置属性,包含各种通知组件的配置信息。
  • Constructor Summary

    Constructors
    Constructor
    Description
    使用指定的配置属性创建通知服务提供者实例。
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    register(org.miaixz.bus.notify.Registry registry, org.miaixz.bus.notify.Context context)
    注册通知组件到缓存中。
    org.miaixz.bus.notify.Provider
    require(org.miaixz.bus.notify.Registry registry)
    根据通知组件类型获取对应的通知服务提供者实例。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • properties

      public NotifyProperties properties
      通知配置属性,包含各种通知组件的配置信息。
  • Constructor Details

    • NotifyService

      public NotifyService(NotifyProperties properties)
      使用指定的配置属性创建通知服务提供者实例。
      Parameters:
      properties - 通知配置属性,不能为null
  • Method Details

    • register

      public static void register(org.miaixz.bus.notify.Registry registry, org.miaixz.bus.notify.Context context)
      注册通知组件到缓存中。 如果已存在相同类型的组件,则抛出异常。
      Parameters:
      registry - 通知组件类型,不能为null
      context - 通知组件上下文,不能为null
      Throws:
      org.miaixz.bus.core.lang.exception.InternalException - 如果已存在相同类型的组件
    • require

      public org.miaixz.bus.notify.Provider require(org.miaixz.bus.notify.Registry registry)
      根据通知组件类型获取对应的通知服务提供者实例。 首先从缓存中查找,如果不存在则从配置中获取。
      Parameters:
      registry - 通知组件类型,不能为null
      Returns:
      对应的通知服务提供者实例
      Throws:
      org.miaixz.bus.core.lang.exception.InternalException - 如果找不到对应的通知组件