Java ME上的MQTT客户端连接出现异常
我正在尝试将JavaMe应用程序客户端连接到MQTT代理。 我能够创建一个客户端,交叉检查客户端服务器URI 但当我尝试连接时,我看到异常:Java ME上的MQTT客户端连接出现异常,java,mqtt,Java,Mqtt,我正在尝试将JavaMe应用程序客户端连接到MQTT代理。 我能够创建一个客户端,交叉检查客户端服务器URI 但当我尝试连接时,我看到异常: java.lang.NullPointerException - org/eclipse/paho/client/mqttv3/internal/MessageCatalog.getMessage(MessageCatalog.java:46) - org/eclipse/paho/client/mqttv3/MqttException.getMes
java.lang.NullPointerException
- org/eclipse/paho/client/mqttv3/internal/MessageCatalog.getMessage(MessageCatalog.java:46)
- org/eclipse/paho/client/mqttv3/MqttException.getMessage(MqttException.java:200)
- org/eclipse/paho/client/mqttv3/MqttException.toString(MqttException.java:208)
- java/lang/String.valueOf(), bci=11
- java/io/PrintStream.print(), bci=2
- java/io/PrintStream.println(), bci=2
- java/lang/Throwable.printStackTrace(), bci=2
- java/lang/Throwable.printStackTrace(), bci=4
- javameapp82/SimpleMqttClient.testMQTTClient(SimpleMqttClient.java:96)
- javameapp82/JavaMEApp82.startApp(JavaMEApp82.java:50)
- javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
- com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
- com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=264
- com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
- com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
- com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=132
- com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
代码如下:
try {
myClient = new MqttClient(BROKER_URL, MqttClient.generateClientId()); //, new MemoryPersistence());
if(myClient == null)
{
System.out.println("myClient = NULL");
return;
}
System.out.println("ServerURI: "+myClient.getServerURI());
System.out.println("is Connected: "+myClient.isConnected());
System.out.println("Setting Call back");
myClient.setCallback(new MqttCallback() {
@Override
public void connectionLost(Throwable cause) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
// String payload = new String(message.getPayload());
System.out.println(topic+ "--->"+ new String(message.getPayload()));
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
});
System.out.println("Trying to Connect to BROKER");
myClient.connect();
// myClient.connect(connOpt);
System.out.println("Subscribing to WORLD TOPIC");
myClient.subscribe("world");
} catch (MqttException e) {
System.out.println("--- Caught Exception ---");
// System.out.println("Exception: "+e.toString());
e.printStackTrace();
System.exit(-1);
return;
}
我在connect上得到了一个异常。例外情况如下:
java.lang.NullPointerException
- org/eclipse/paho/client/mqttv3/internal/MessageCatalog.getMessage(MessageCatalog.java:46)
- org/eclipse/paho/client/mqttv3/MqttException.getMessage(MqttException.java:200)
- org/eclipse/paho/client/mqttv3/MqttException.toString(MqttException.java:208)
- java/lang/String.valueOf(), bci=11
- java/io/PrintStream.print(), bci=2
- java/io/PrintStream.println(), bci=2
- java/lang/Throwable.printStackTrace(), bci=2
- java/lang/Throwable.printStackTrace(), bci=4
- javameapp82/SimpleMqttClient.testMQTTClient(SimpleMqttClient.java:96)
- javameapp82/JavaMEApp82.startApp(JavaMEApp82.java:50)
- javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
- com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
- com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=264
- com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
- com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
- com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=132
- com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
不确定为什么会出现此异常,谢谢您的帮助。该错误是由于paho客户端未能查看错误消息以查找早期异常。如果删除System.out.println(“异常:+e.toString());行,您将得到一个更有用的堆栈trace@hardillb我已经删除了该行,并更新了上面的异常详细信息。我又得到了几行信息,但仍然没有足够的信息,或者我无法理解itOK,所以它仍然希望消息目录打印stacktrace,这很奇怪。你的泛美卫生组织客户是从哪里来的?这是一个很难理解的错误翻译。这个J2ME paho客户端有点老了,这是真的。我看到了最新的,但不确定如何在NetBeans中包含和编译,错误是paho客户端未能查看错误消息以查找早期异常。如果删除System.out.println(“异常:+e.toString());行,您将得到一个更有用的堆栈trace@hardillb我已经删除了该行,并更新了上面的异常详细信息。我又得到了几行信息,但仍然没有足够的信息,或者我无法理解itOK,所以它仍然希望消息目录打印stacktrace,这很奇怪。你的泛美卫生组织客户是从哪里来的?这是一个很难理解的错误翻译。这个J2ME paho客户端有点老了,这是真的。我看到了最新的,但不确定如何在Netbeans中包含和编译