|
|
@@ -11,6 +11,9 @@ import org.springframework.context.annotation.Configuration; |
|
|
|
|
|
|
|
@Configuration |
|
|
|
public class MqttConsumerConfig { |
|
|
|
|
|
|
|
private boolean connected = false; |
|
|
|
|
|
|
|
@Value("${spring.mqtt.username}") |
|
|
|
private String username; |
|
|
|
|
|
|
@@ -47,13 +50,15 @@ public class MqttConsumerConfig { |
|
|
|
options.setKeepAliveInterval(20); |
|
|
|
options.setWill("willTopic", (clientId + "Disconnected").getBytes(), 0, false); |
|
|
|
client.setCallback(new MqttConsumerCallBack()); |
|
|
|
System.out.println("Start Connection"); |
|
|
|
client.connect(options); |
|
|
|
System.out.println("End Connection"); |
|
|
|
int[] qos = { 1, 1 }; |
|
|
|
// Topics |
|
|
|
String[] topics = { "topic1", "topic2" }; |
|
|
|
client.subscribe(topics, qos); |
|
|
|
System.out.println("Subscribing to topic \"" + defaultTopic + "\" for client instance \"" + client.getClientId() |
|
|
|
+ "\" using QoS " + qos[0]); |
|
|
|
String[] defaultTopics = defaultTopic.split(","); |
|
|
|
client.subscribe(defaultTopics, qos); |
|
|
|
// Set the connected flag |
|
|
|
connected = true; |
|
|
|
} catch (MqttException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
@@ -68,6 +73,9 @@ public class MqttConsumerConfig { |
|
|
|
} |
|
|
|
|
|
|
|
public void subscribe(String topic, int qos) { |
|
|
|
if (!connected) { |
|
|
|
return; |
|
|
|
} |
|
|
|
try { |
|
|
|
client.subscribe(topic, qos); |
|
|
|
} catch (MqttException e) { |
|
|
|