Published old committed on local branch changes (fix for issue #79)

This commit is contained in:
andsel
2015-09-20 14:27:06 +02:00
parent 6e1524817e
commit 573bf273ff
4 changed files with 121 additions and 12 deletions
@@ -0,0 +1,55 @@
@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.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 PublisherThread extends Thread {
private final int pubId
private final String host = "localhost"
private final byte[] payload
private final int numToSend
PublisherThread(int pubId, int numToSend, byte[] payload) {
this.numToSend = numToSend
this.payload = payload
this.pubId = pubId
}
@Override
public void run() {
MQTT mqtt = new MQTT()
//mqtt.setHost("test.mosquitto.org", 1883);
mqtt.setHost(host, 1883)
mqtt.setCleanSession(true)
mqtt.setHost(host, 1883)
mqtt.setClientId("PublisherClient${pubId}")
BlockingConnection connection = mqtt.blockingConnection()
connection.connect()
(1..numToSend).each {
connection.publish("/topic${pubId}", this.payload, QoS.AT_MOST_ONCE, false)
}
connection.publish("/exit${pubId}", 'Exit'.bytes, QoS.AT_MOST_ONCE, false)
connection.disconnect()
}
}
if (args.size() < 1) {
println "Usage: groovy issue79_stress_multipub.groovy num_publishers"
}
final byte[] payload = 'Hello world!!'.bytes
int numPublishers = args[0] as Integer
(1..numPublishers).each { numPub ->
def pubTh = new PublisherThread(numPub, 5, payload)
pubTh.start()
}
println "Started all publisher threads"
@@ -0,0 +1,56 @@
@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.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 SubscriberThread extends Thread {
private final int subId
private final String host = "localhost"
SubscriberThread(int subId) {
this.subId = subId
}
@Override
public void run() {
MQTT mqtt = new MQTT()
//mqtt.setHost("test.mosquitto.org", 1883);
mqtt.setHost(host, 1883)
mqtt.setCleanSession(true)
mqtt.setHost(host, 1883)
mqtt.setClientId("SubscriberClient${subId}")
BlockingConnection connection = mqtt.blockingConnection()
connection.connect()
Topic[] topics = [new Topic("/topic${subId}", QoS.AT_MOST_ONCE), new Topic("/exit${subId}", QoS.AT_MOST_ONCE)]
byte[] qoses = connection.subscribe(topics)
boolean exit = false
while (!exit) {
Message message = connection.receive()
if (message.topic == "/exit${subId}") {
exit = true
}
message.ack()
}
connection.disconnect()
println "sub ${subId} exited"
}
}
if (args.size() < 1) {
println "Usage: groovy issue79_stress_multisub.groovy num_subscribers"
}
int numSubscriber = args[0] as Integer
(1..numSubscriber).each { numSub ->
def subTh = new SubscriberThread(numSub)
subTh.start()
}
println "Started all subscribers threads"