public void run() { next.subscribe(topics, future); } });
public void onSuccess(Void value) { final Topic[] ta = topics.toArray(new Topic[topics.size()]); connection.subscribe(ta, new Callback<byte[]>() { public void onSuccess(byte[] value) { if(debug) { for (int i = 0; i < value.length; i++) { stderr("Subscribed to Topic: " + ta[i].name() + " with QoS: " + QoS.values()[value[i]]); } } } public void onFailure(Throwable value) { stderr("Subscribe failed: " + value); if(debug) { value.printStackTrace(); } System.exit(2); } }); } });
private void connectMqtt() throws Exception { String clientId = this.topologyName + "-" + this.context.getThisComponentId() + "-" + this.context.getThisTaskId(); MQTT client = MqttUtils.configureClient(this.options, clientId, this.keyStoreLoader); this.connection = client.callbackConnection(); this.connection.listener(this); this.connection.connect(new ConnectCallback()); while (!this.mqttConnected && !this.mqttConnectFailed) { LOG.info("Waiting for connection..."); Thread.sleep(500); } if (this.mqttConnected) { List<String> topicList = this.options.getTopics(); Topic[] topics = new Topic[topicList.size()]; QoS qos = MqttUtils.qosFromInt(this.options.getQos()); for (int i = 0; i < topicList.size(); i++) { topics[i] = new Topic(topicList.get(i), qos); } connection.subscribe(topics, new SubscribeCallback()); } }
public void run() { next.subscribe(topics, future); } });
public void onSuccess(Void value) { final Topic[] ta = topics.toArray(new Topic[topics.size()]); connection.subscribe(ta, new Callback<byte[]>() { public void onSuccess(byte[] value) { if(debug) { for (int i = 0; i < value.length; i++) { stderr("Subscribed to Topic: " + ta[i].name() + " with QoS: " + QoS.values()[value[i]]); } } } public void onFailure(Throwable value) { stderr("Subscribe failed: " + value); if(debug) { value.printStackTrace(); } System.exit(2); } }); } });
@Override public void onSuccess(Void value) { if(size==1) { Topic[] Tp = new Topic[1]; Tp[0] = new Topic(topics, qos); connection.subscribe(Tp, cbs); System.out.println("Connect sucessfully with only one topic " + topics); } else if (size>1){ String[] topicArray = topics.split("\\s*,\\s*"); Topic[] Tp = new Topic[topicArray.length]; for (int i = 0; i < topicArray.length; i++) Tp[i] = new Topic(topicArray[i], qos); connection.subscribe(Tp, cbs); System.out.println("Connect sucessfully with these topics " + topics); } }
@Override protected CompletionStage<?> subscribeMqtt(final String topic, final MqttMessageHandler messageHandler) { synchronized (this) { subscriptions.put(topic, messageHandler); final CompletableFuture<byte[]> future = new CompletableFuture<>(); connection.subscribe( new org.fusesource.mqtt.client.Topic[] { new org.fusesource.mqtt.client.Topic(topic, QoS.AT_LEAST_ONCE) }, Callbacks.asCallback(future)); return future; } }
@Override protected CompletionStage<?> subscribeMqtt(final String topic, final MqttMessageHandler messageHandler) { synchronized (this) { subscriptions.put(topic, messageHandler); final CompletableFuture<byte[]> future = new CompletableFuture<>(); connection.subscribe( new org.fusesource.mqtt.client.Topic[] { new org.fusesource.mqtt.client.Topic(topic, QoS.AT_LEAST_ONCE) }, Callbacks.asCallback(future)); return future; } }
@Override public void onSuccess(Void e) { Topic[] topics = { new Topic(getTopic(), QoS.AT_LEAST_ONCE) }; connection.subscribe(topics, new Callback<byte[]>() { @Override public void onFailure(Throwable e) { getLogger().error("MQTT subscribe failed.", e); } @Override public void onSuccess(byte[] arg0) { getLogger().info("Subscribed to events on MQTT topic: " + getTopic()); } }); } });
@Override public void onSuccess(Void e) { Topic[] topics = { new Topic(getTopic(), QoS.AT_LEAST_ONCE) }; connection.subscribe(topics, new Callback<byte[]>() { @Override public void onFailure(Throwable e) { LOGGER.error("MQTT subscribe failed.", e); } @Override public void onSuccess(byte[] arg0) { LOGGER.info("Subscribed to events on MQTT topic: " + getTopic()); } }); } });