diff --git a/tools_scripts/issue4_publish2Subscribers.groovy b/tools_scripts/issue4_publish2Subscribers.groovy new file mode 100644 index 00000000..cd3b8fdb --- /dev/null +++ b/tools_scripts/issue4_publish2Subscribers.groovy @@ -0,0 +1,42 @@ +@Grab(group='org.fusesource.mqtt-client', module='mqtt-client', version='1.5') + +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 + +String host = args[0] +MQTT mqtt = new MQTT() +mqtt.setHost(host, 1883) +mqtt.setCleanSession(true) +mqtt.setClientId("SubscriberClient") + +BlockingConnection subscriber = mqtt.blockingConnection() +subscriber.connect() +println "Connected to ${host}" + +Topic[] topics = [new Topic("/topic", QoS.AT_MOST_ONCE)] +byte[] qoses = subscriber.subscribe(topics) +println "Subscribed to ${topics}" + +//start a publisher +MQTT mqtt2 = new MQTT() +mqtt2.setHost(host, 1883) +BlockingConnection publisher = mqtt2.blockingConnection() +publisher.connect() +publisher.publish("/topic", 'Hello world!!'.bytes, QoS.AT_MOST_ONCE, false) + +//check subscriber received +Message message = subscriber.receive() +assert "/topic" == message.topic +assert "Hello world!!" == new String(message.payload) +message.ack() + +println "shutdown subscriber" +subscriber.disconnect() + +println "shutdown publisher" +publisher.disconnect() + +println "Kill your broker and start it again, then trivialPublish.groovy" \ No newline at end of file diff --git a/tools_scripts/trivialPublish.groovy b/tools_scripts/trivialPublish.groovy new file mode 100644 index 00000000..44b7ef86 --- /dev/null +++ b/tools_scripts/trivialPublish.groovy @@ -0,0 +1,22 @@ +@Grab(group='org.fusesource.mqtt-client', module='mqtt-client', version='1.5') + +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 + + +String host = args[0] +//start a publisher +MQTT mqtt2 = new MQTT() +mqtt2.setHost(host, 1883) +BlockingConnection publisher = mqtt2.blockingConnection() +publisher.connect() +println "publisher connected" + +publisher.publish("/topic", 'Hello world again!!'.bytes, QoS.AT_MOST_ONCE, false) +println "publisher published" + +println "shutdown publisher" +publisher.disconnect() \ No newline at end of file