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); } } }