| package com.dy.pipIrrApp.workOrder.mqtt; | 
|   | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.eclipse.paho.client.mqttv3.MqttClient; | 
| import org.springframework.beans.factory.annotation.Value; | 
| import org.springframework.web.bind.annotation.GetMapping; | 
| import org.springframework.web.bind.annotation.PathVariable; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.RestController; | 
|   | 
| /** | 
|  * @author ZhuBaoMin | 
|  * @date 2024-11-16 11:32 | 
|  * @LastEditTime 2024-11-16 11:32 | 
|  * @Description | 
|  */ | 
|   | 
| @Slf4j | 
| @RestController | 
| @RequestMapping(path = "mqtt") | 
| public class TestController { | 
|   | 
|     @Value("${mqtt.broker}") | 
|     private String broker; | 
|   | 
|     @Value("${mqtt.username}") | 
|     private String username; | 
|   | 
|     @Value("${mqtt.password}") | 
|     private String password; | 
|   | 
|     @Value("${mqtt.topic}") | 
|     private String topic; | 
|   | 
|     @Value("${mqtt.qos}") | 
|     private Integer qos; | 
|   | 
|     @GetMapping("/mqtt/{msg}") | 
|     public String testSendMqttMsg(@PathVariable("msg") String msg){ | 
|         log.info("消息内容:{}.", msg); | 
|   | 
|         MqttClient mqttClient = MqttClientConnectorPool.connectMQTT(broker, username, password); | 
|         MqttMsgSender sender = new MqttMsgSender(); | 
|   | 
|         String content = "{" + " \"message\": \"" + msg + "\"," + " \"val\": 100.00" + "}"; | 
|   | 
|         if (null != mqttClient){ | 
|             sender.sendMessage(mqttClient, topic, content, qos); | 
|         } else { | 
|             log.info("MqttClient为空,无法发送!"); | 
|             return "失败!"; | 
|         } | 
|         return "成功!"; | 
|     } | 
|   | 
|     @GetMapping("/receive") | 
|     public String receiveMsg() { | 
|         MqttMsgSubscriber subscriber = new MqttMsgSubscriber(); | 
|         subscriber.readSubscribeTopicMessage(); | 
|         return "success"; | 
|     } | 
| } |