The topic name MUST NOT contain any wildcard characters (#+)。

https://blog.csdn.net/a510750/article/details/89926396

其中要注意的是topic中如果适用了通配符,那这个topic可以设置主题,但是无法设置遗嘱!同时会报如下错误:

The topic name MUST NOT contain any wildcard characters (#+)。

即注释掉以下代码即可

  • //setWill方法,如果项目中需要知道客户端是否掉线可以调用该方法。设置最终端口的通知消息
  •  
    //注意最后遗嘱的topic不可以带通配符,如下就是错误的
  •  
    // MqttTopic topic = client.getTopic("/app/lora/+/up");
  •  
    // options.setWill(topic, "close".getBytes(), 2, true);

原文地址:https://www.cnblogs.com/zkwarrior/p/14372555.html