MQTT - Java应用程序无法查看已发布的消息

时间:2014-10-18 21:08:42

标签: java mqtt mosquitto

我正在使用eclipse中的MQTT应用程序。我之前使用mqtt-dashboard作为公共经纪人,并且能够看到我在仪表板上发布的消息。出于某种原因,这个网站已经关闭,所以我切换到了mosquitto。我的代码相同,但我仍然无法向此代理发布消息。我的代码如下:

public static void main(String[] args) {

    String topic        = "home automation systems";
    String content      = "I am a test message";
    int qos             = 2;
    String broker       = "tcp://test.mosquitto.org:1883";
    String clientId     = "home automation";
    MemoryPersistence persistence = new MemoryPersistence();
    try {
            MqttClient sampleClient = new MqttClient(broker, clientId, persistence);
            MqttConnectOptions connOpts = new MqttConnectOptions();
            connOpts.setCleanSession(true);
            System.out.println("Connecting to broker: "+broker);
            sampleClient.connect(connOpts);
            System.out.println("Connected");
            System.out.println("Publishing message: "+content);
            MqttMessage message = new MqttMessage(content.getBytes());
            message.setQos(qos);
            sampleClient.publish(topic, message);
            System.out.println("Message published");
            sampleClient.disconnect();
            System.out.println("Disconnected");
            System.exit(0);
        } 
        catch(MqttException me) {
            System.out.println("reason "+me.getReasonCode());
            System.out.println("msg "+me.getMessage());
            System.out.println("loc "+me.getLocalizedMessage());
            System.out.println("cause "+me.getCause());
            System.out.println("excep "+me);
            me.printStackTrace();
        }
}

}

我正在尝试查看此信息中心上发布的消息:http://test-mosquitto.herokuapp.com/ 但是看不到我的留言。如果我错过了什么,请纠正我。我是新手。感谢。

1 个答案:

答案 0 :(得分:0)

如果您希望在“仪表板”上显示消息,则需要使用保留的标志集发布消息 - 该Web应用程序只能显示保留的消息,而不是常规的短暂消息。