Class MqttClient

java.lang.Object
org.dromara.mica.mqtt.core.client.MqttClient

public final class MqttClient extends Object
mqtt 客户端
Author:
L.cm
  • Method Details

    • create

      public static MqttClientCreator create()
    • subQos0

      public MqttClient subQos0(String topicFilter, IMqttClientMessageListener listener)
      订阅
      Parameters:
      topicFilter - topicFilter
      listener - MqttMessageListener
      Returns:
      MqttClient
    • subQos1

      public MqttClient subQos1(String topicFilter, IMqttClientMessageListener listener)
      订阅
      Parameters:
      topicFilter - topicFilter
      listener - MqttMessageListener
      Returns:
      MqttClient
    • subQos2

      public MqttClient subQos2(String topicFilter, IMqttClientMessageListener listener)
      订阅
      Parameters:
      topicFilter - topicFilter
      listener - MqttMessageListener
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(org.dromara.mica.mqtt.codec.MqttQoS mqttQoS, String topicFilter, IMqttClientMessageListener listener)
      订阅
      Parameters:
      mqttQoS - MqttQoS
      topicFilter - topicFilter
      listener - MqttMessageListener
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(String topicFilter, org.dromara.mica.mqtt.codec.MqttQoS mqttQoS, IMqttClientMessageListener listener)
      订阅
      Parameters:
      mqttQoS - MqttQoS
      topicFilter - topicFilter
      listener - MqttMessageListener
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(String topicFilter, org.dromara.mica.mqtt.codec.MqttQoS mqttQoS, IMqttClientMessageListener listener, org.dromara.mica.mqtt.codec.MqttProperties properties)
      订阅
      Parameters:
      mqttQoS - MqttQoS
      topicFilter - topicFilter
      listener - MqttMessageListener
      properties - MqttProperties
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(String[] topicFilters, org.dromara.mica.mqtt.codec.MqttQoS mqttQoS, IMqttClientMessageListener listener)
      订阅
      Parameters:
      topicFilters - topicFilter 数组
      mqttQoS - MqttQoS
      listener - MqttMessageListener
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(String[] topicFilters, org.dromara.mica.mqtt.codec.MqttQoS mqttQoS, IMqttClientMessageListener listener, org.dromara.mica.mqtt.codec.MqttProperties properties)
      订阅
      Parameters:
      topicFilters - topicFilter 数组
      mqttQoS - MqttQoS
      listener - MqttMessageListener
      properties - MqttProperties
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(List<MqttClientSubscription> subscriptionList)
      批量订阅
      Parameters:
      subscriptionList - 订阅集合
      Returns:
      MqttClient
    • subscribe

      public MqttClient subscribe(List<MqttClientSubscription> subscriptionList, org.dromara.mica.mqtt.codec.MqttProperties properties)
      批量订阅
      Parameters:
      subscriptionList - 订阅集合
      properties - MqttProperties
      Returns:
      MqttClient
    • unSubscribe

      public MqttClient unSubscribe(String... topicFilters)
      取消订阅
      Parameters:
      topicFilters - topicFilter 集合
      Returns:
      MqttClient
    • unSubscribe

      public MqttClient unSubscribe(List<String> topicFilters)
      取消订阅
      Parameters:
      topicFilters - topicFilter 集合
      Returns:
      MqttClient
    • publish

      public boolean publish(String topic, byte[] payload)
      发布消息
      Parameters:
      topic - topic
      payload - 消息内容
      Returns:
      是否发送成功
    • publish

      public boolean publish(String topic, byte[] payload, org.dromara.mica.mqtt.codec.MqttQoS qos)
      发布消息
      Parameters:
      topic - topic
      payload - 消息内容
      qos - MqttQoS
      Returns:
      是否发送成功
    • publish

      public boolean publish(String topic, byte[] payload, boolean retain)
      发布消息
      Parameters:
      topic - topic
      payload - 消息内容
      retain - 是否在服务器上保留消息
      Returns:
      是否发送成功
    • publish

      public boolean publish(String topic, byte[] payload, org.dromara.mica.mqtt.codec.MqttQoS qos, boolean retain)
      发布消息
      Parameters:
      topic - topic
      payload - 消息体
      qos - MqttQoS
      retain - 是否在服务器上保留消息
      Returns:
      是否发送成功
    • publish

      public boolean publish(String topic, byte[] payload, org.dromara.mica.mqtt.codec.MqttQoS qos, boolean retain, org.dromara.mica.mqtt.codec.MqttProperties properties)
      发布消息
      Parameters:
      topic - topic
      payload - 消息体
      qos - MqttQoS
      retain - 是否在服务器上保留消息
      properties - MqttProperties
      Returns:
      是否发送成功
    • publish

      public boolean publish(String topic, byte[] payload, org.dromara.mica.mqtt.codec.MqttQoS qos, Consumer<org.dromara.mica.mqtt.codec.MqttMessageBuilders.PublishBuilder> builder)
      发布消息
      Parameters:
      topic - topic
      payload - 消息体
      qos - MqttQoS
      builder - PublishBuilder
      Returns:
      是否发送成功
    • schedule

      public org.tio.utils.timer.TimerTask schedule(Runnable command, long delay)
      添加定时任务,注意:如果抛出异常,会终止后续任务,请自行处理异常
      Parameters:
      command - runnable
      delay - delay
      Returns:
      TimerTask
    • schedule

      public org.tio.utils.timer.TimerTask schedule(Runnable command, long delay, Executor executor)
      添加定时任务,注意:如果抛出异常,会终止后续任务,请自行处理异常
      Parameters:
      command - runnable
      delay - delay
      executor - 用于自定义线程池,处理耗时业务
      Returns:
      TimerTask
    • scheduleOnce

      public org.tio.utils.timer.TimerTask scheduleOnce(Runnable command, long delay)
      添加定时任务
      Parameters:
      command - runnable
      delay - delay
      Returns:
      TimerTask
    • scheduleOnce

      public org.tio.utils.timer.TimerTask scheduleOnce(Runnable command, long delay, Executor executor)
      添加定时任务
      Parameters:
      command - runnable
      delay - delay
      executor - 用于自定义线程池,处理耗时业务
      Returns:
      TimerTask
    • reconnect

      public void reconnect()
      重连
    • reconnect

      public boolean reconnect(String ip, int port)
      重连到新的服务端节点
      Parameters:
      ip - ip
      port - port
      Returns:
      是否成功
    • reconnect

      public boolean reconnect(org.tio.core.Node serverNode)
      重连到新的服务端节点
      Parameters:
      serverNode - Node
      Returns:
      是否成功
    • disconnect

      public boolean disconnect()
      断开 mqtt 连接
      Returns:
      是否成功
    • stop

      public boolean stop()
      停止客户端
      Returns:
      是否停止成功
    • getTioClient

      public org.tio.client.TioClient getTioClient()
      获取 TioClient
      Returns:
      TioClient
    • getClientCreator

      public MqttClientCreator getClientCreator()
      获取配置
      Returns:
      MqttClientCreator
    • getClientTioConfig

      public org.tio.client.TioClientConfig getClientTioConfig()
      获取 ClientTioConfig
      Returns:
      ClientTioConfig
    • getContext

      public org.tio.client.ClientChannelContext getContext()
      获取 ClientChannelContext
      Returns:
      ClientChannelContext
    • isConnected

      public boolean isConnected()
      判断客户端跟服务端是否连接
      Returns:
      是否已经连接成功
    • isDisconnected

      public boolean isDisconnected()
      判断客户端跟服务端是否断开连接
      Returns:
      是否断连