| | |
| | | package com.doumee.core.mqtt.config; |
| | | |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.mqtt.service.MqttPushCallback; |
| | | import org.eclipse.paho.client.mqttv3.MqttClient; |
| | | import org.eclipse.paho.client.mqttv3.MqttConnectOptions; |
| | | import org.eclipse.paho.client.mqttv3.MqttException; |
| | | import org.eclipse.paho.client.mqttv3.MqttTopic; |
| | | import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | public class MqttClientInit { |
| | | static MqttClient client; |
| | |
| | | } |
| | | try { |
| | | // host为主机名,clientid即连接MQTT的客户端ID,一般以唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存 |
| | | client = new org.eclipse.paho.client.mqttv3.MqttClient(config.getHost(), config.getClientid() ,new MemoryPersistence()); |
| | | client = new org.eclipse.paho.client.mqttv3.MqttClient(config.getHost(), config.getClientid()+ Constants.getUUID(),new MemoryPersistence()); |
| | | // MQTT的连接设置 |
| | | MqttConnectOptions options = new MqttConnectOptions(); |
| | | // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,设置为true表示每次连接到服务器都以新的身份连接 |
| | |
| | | } |
| | | return client; |
| | | } |
| | | public static synchronized void refreshClient() throws MqttException { |
| | | if(client !=null){ |
| | | boolean result = client.isConnected(); |
| | | client.reconnect(); |
| | | } |
| | | } |
| | | |
| | | } |