如何在数据库中存储mqtt订阅的数据

时间:2016-12-01 18:03:28

标签: java mqtt

我正在使用MQTT Paho MqttCallback我成功地能够在没有任何问题的情况下订阅和发布我的主题,但我的任务是将数据存储在messageArrived(String topic, MqttMessage message)的数据库中以便数据我将来可以使用它。

@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
    // code to store the message in database
     LOGGER.info("messageArrived>> " + message);
}

messageArrived()没有执行存储到数据库的代码,它只是执行LOGGER。 将消息存储在数据库中的代码是正确的,然后它也会跳过代码。 我需要采用什么策略,因此首先它会将消息存储在数据库中并打印日志。

  

更新

我正尝试类似于this

的内容

1 个答案:

答案 0 :(得分:0)

这是因为你的记录器/数据库代码抛出了一个被paho框架吞噬的异常。

在记录器调用周围添加一个try / catch块。

@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
     try {
         // code to store the message in database
         LOGGER.info("messageArrived>> " + message);
     } catch (Exception ex) {
         System.err.println(ex);
     }
}

现在它应该打印失败的原因