Files
IM-server-new/tools_scripts/integration/issue15_receiver.groovy
T

49 lines
1.3 KiB
Groovy

@Grab(group='org.fusesource.mqtt-client', module='mqtt-client', version='1.5')
import java.net.URISyntaxException
import org.fusesource.mqtt.client.BlockingConnection
import org.fusesource.mqtt.client.MQTT
import org.fusesource.mqtt.client.Message
import org.fusesource.mqtt.client.QoS
import org.fusesource.mqtt.client.Topic
class Reciever {
MQTT mqtt = new MQTT()
BlockingConnection connection
public void connectAndSubscribe(boolean cleanSession) {
mqtt.setCleanSession(cleanSession)
mqtt.setHost("localhost", 1883)
mqtt.setClientId("reciever")
connection = mqtt.blockingConnection()
connection.connect()
Topic[] topics = [new Topic("/topic", QoS.AT_LEAST_ONCE)]
byte[] qoses = connection.subscribe(topics)
}
}
Reciever r = new Reciever()
r.connectAndSubscribe(false)
Message message
3.times { i ->
message = r.connection.receive()
println "Topic: ${message.topic}, payload: ${new String(message.payload)}"
message.ack()
}
r.connection.kill()
//r.connection.disconnect()
Thread.sleep(3000)
r.connectAndSubscribe(false)
3.times { i ->
message = r.connection.receive()
println "Topic: ${message.topic}, payload: ${new String(message.payload)}"
message.ack()
}
r.connection.disconnect()