我有一个通过MQTT订阅了多个主题的侦听器类(Java)。我想访问从另一个类发布到我的侦听器的消息。这该怎么做?
目标是将侦听器类的输出馈送到不断刷新的JFrame中。

最佳答案

你有一个客户

private MqttClient sampleClient;


您需要订阅一些主题:

sampleClient.subscribe(topicToSubscribe);


并设置回调,这样您就可以获取经纪人向您推送的信息(这肯定是您所缺少的)

   sampleClient.setCallback(new MqttCallback() {

   @Override
    public void messageArrived(String topicInforming, MqttMessage mqttMessage) throws Exception {
                 System.out.println("messageArrived: " + mqttMessage.toString());
            }

   @Override
   public void deliveryComplete(IMqttDeliveryToken arg0) {
                System.out.println("DeliveryComplete: " + arg0.getMessageId());
            }

   @Override
    public void connectionLost(Throwable arg0) {
                System.err.println("Connection lost: " + arg0.getMessage());
    }
});

10-04 17:00