package com.thhy.staff.utils;
|
|
import com.thhy.general.utils.UUIDUtils;
|
import com.thhy.staff.config.EmqxConfig;
|
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.MqttMessage;
|
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
|
|
public class MqUtils {
|
|
public static void createClient(EmqxConfig emqxConfig){
|
String broker = "tcp://"+emqxConfig.getHost()+":"+emqxConfig.getPort();
|
String clientId = UUIDUtils.create();
|
MemoryPersistence persistence = new MemoryPersistence();
|
|
try {
|
MqttClient client = new MqttClient(broker, clientId, persistence);
|
|
// MQTT 连接选项
|
MqttConnectOptions connOpts = new MqttConnectOptions();
|
connOpts.setUserName(emqxConfig.getUsername());
|
connOpts.setPassword(emqxConfig.getPassword().toCharArray());
|
// 保留会话
|
connOpts.setCleanSession(true);
|
|
// 设置回调
|
//client.setCallback(new OnMessageCallback());
|
|
// 建立连接
|
System.out.println("Connecting to broker: " + broker);
|
client.connect(connOpts);
|
|
System.out.println("Connected");
|
//System.out.println("Publishing message: " + content);
|
|
// 订阅
|
//client.subscribe(subTopic);
|
|
// 消息发布所需参数
|
/* MqttMessage message = new MqttMessage(content.getBytes());
|
message.setQos(qos);
|
client.publish(pubTopic, message);
|
System.out.println("Message published");*/
|
|
client.disconnect();
|
} catch (MqttException e) {
|
throw new RuntimeException(e);
|
}
|
}
|
}
|