MqttDemoController.java 1.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
package com.ruoyi.mqtt.controller;

import com.ruoyi.mqtt.config.MqttPushClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author jianglw
 * @version 1.0
 * @date 2021/5/20 10:06
 */
@RestController
@RequestMapping("/mqttDemo")
public class MqttDemoController {
    @Autowired
    private MqttPushClient mqttPushClient;
    /**
     * 通过MqttPushClient类publish方法的发送"这是一条测试消息"到名为"test_queue"的主题,如果需要拿到这条消息,
     * 需要在MqttSubClient类的subScribeDataPublishTopic方法进行配置和订阅该主题(这个DEMO已经配置好,并在连接mqtt服务器时就已经订阅),
     * 配置完成后 PushCallBack类的messageArrived方法会接收到已订阅主题接收到的消息(订阅主题后可以在该方法中处理接收到的消息)
     */
    @RequestMapping("/testPublishMessage1")
    public void testPublishMessage() {
        mqttPushClient.publish("test_queue","这是一条测试消息");
    }

    @RequestMapping("/testPublishMessage2")
    public void testPublishMessage2( @RequestBody String message){
        mqttPushClient.publish("test_queue",message);
    }
}