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