При запуске Eclipse, и скомпилировать свою программу, она работает только один раз, и после первого выполнения программы, если я попытался запустить его снова я получаю:Исключения в потоке «основное» Постоянство уже используется
Exception in thread "main" Persistence is already in use
Чтобы решить эту проблему, я должен закрыть Eclipse и снова открыть ее, и то же самое происходит каждый раз, я могу запустить свою программу, иначе я получаю сообщение.
Что означает эта ошибка и как ее исправить?
UPDATE
client != null
Client is Connected
synchCB->@onSuccess(): Connection Successfull
Client is CONNECTED and Resources will be released.
AsynchCB->@deliveryComplete():
MSG: .00088782
Exception in thread "main" Verbindung zu Client ist hergestellt (32100)
at
org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:31)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.close(ClientComms.java:166)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.close(MqttAsyncClient.java:873)
at org.eclipse.paho.client.mqttv3.MqttClient.close(MqttClient.java:401)
at com.example.mqtt_java.MainClass.releaseResources(MainClass.java:87)
at com.example.mqtt_java.MainClass.main(MainClass.java:53)
Код:
client = new MqttClient(serverURI, clientID);
//client = MQTTClientFactory.newClient(IP, PORT, clientID);
if (client != null) {
System.out.println("client is not null");
//client.setCallback(AsynchCB);
//IMqttToken token = client.connectWithResult(opts);
client.connect();
if (client.isConnected()) {
System.out.println("Client is Connected");
client.publish(TOPIC, "33300".getBytes(), QoS, false);
client.close();
client.disconnect();
}else {
System.out.println("client is not connected");
}
}else {
System.out.println("client = null");
}
}
Console_output:
Exception in thread "main" Persistenz wird bereits verwendet (32200)
at
rg.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence.open(MqttDefaultFilePersistence.java:112)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.<init>(MqttAsyncClient.java:286)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.<init>(MqttAsyncClient.java:167)
at org.eclipse.paho.client.mqttv3.MqttClient.<init>(MqttClient.java:224)
at org.eclipse.paho.client.mqttv3.MqttClient.<init>(MqttClient.java:136)
at com.example.mqtt_java.MainClass.main(MainClass.java:47)
теперь после каждого извлечения в мою программу я завершаю его, и он удаляет все завершенные запуски. когда я снова запускаю prog, он отлично работает (публикует или подписывается), но в конце экрана консоли я всегда получаю сообщение в вышеупомянутом обновленном обновлении. пожалуйста, дайте мне знать, как я могу прекратить его получать – rmaik