Added check to avoid creation of LostConnectionEvents for not yet completed connects (fix issue #88)
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
//@Grab(group='org.fusesource.mqtt-client', module='mqtt-client', version='1.10')
|
||||
@GrabResolver(name='Paho', root="https://repo.eclipse.org/content/repositories/paho-releases/")
|
||||
@Grab(group='org.eclipse.paho', module='org.eclipse.paho.client.mqttv3', version='1.0.2')
|
||||
|
||||
import org.eclipse.paho.client.mqttv3.MqttClient
|
||||
import org.eclipse.paho.client.mqttv3.MqttConnectOptions
|
||||
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence
|
||||
import org.eclipse.paho.client.mqttv3.MqttException
|
||||
|
||||
MqttDefaultFilePersistence subDataStore = new MqttDefaultFilePersistence("/tmp/sub")
|
||||
MqttClient subClient = new MqttClient("tcp://localhost:1883", "ConnectTestCLI", subDataStore)
|
||||
MqttConnectOptions connectOptions = new MqttConnectOptions()
|
||||
connectOptions.setUserName("gino")
|
||||
connectOptions.setPassword("fake".toCharArray())
|
||||
connectOptions.setKeepAliveInterval(5)
|
||||
println "Before connect with bad"
|
||||
try {
|
||||
subClient.connect(connectOptions)
|
||||
} catch (MqttException mex) {
|
||||
println "OK, catched connect with bad credentials, wait 4x keepalive"
|
||||
sleep(20 * 1000)
|
||||
}
|
||||
println "Before connect with ok credentials"
|
||||
connectOptions = new MqttConnectOptions()
|
||||
connectOptions.setUserName("testuser")
|
||||
connectOptions.setPassword("passwd".toCharArray())
|
||||
subClient.connect(connectOptions)
|
||||
println "Successfull connected"
|
||||
|
||||
subClient.disconnect()
|
||||
println "Finished!"
|
||||
|
||||
//import org.fusesource.mqtt.client.BlockingConnection
|
||||
//import org.fusesource.mqtt.client.MQTT
|
||||
//"Usage: groovy issue88_reconnect_after_bad_credentials.groovy"
|
||||
|
||||
//MQTT mqtt = new MQTT()
|
||||
//def host = "localhost"
|
||||
//mqtt.setCleanSession(true)
|
||||
//mqtt.setHost(host, 1883)
|
||||
//mqtt.setUserName("gino")
|
||||
//mqtt.setPassword("fake")
|
||||
//
|
||||
//mqtt.setClientId("BadConnecter_client")
|
||||
//BlockingConnection connection = mqtt.blockingConnection()
|
||||
//connection.connect()
|
||||
//
|
||||
////try a valid conn
|
||||
//mqtt.setUserName("testuser")
|
||||
//mqtt.setPassword("passwd")
|
||||
//connection = mqtt.blockingConnection()
|
||||
//connection.connect()
|
||||
//
|
||||
//connection.disconnect()
|
||||
//println "exited"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user