From 70d0a054cbda5133da0b8a62755a9ebbdc3512c3 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Tue, 28 Nov 2017 17:53:12 +0100 Subject: [PATCH] connect after all subscriptions --- .../measurementCollector/MeasurementCollector.java | 4 +++- .../de/hottis/measurementCollector/MqttReceiver.java | 12 +++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/de/hottis/measurementCollector/MeasurementCollector.java b/src/main/java/de/hottis/measurementCollector/MeasurementCollector.java index b13cdec..3d5c081 100644 --- a/src/main/java/de/hottis/measurementCollector/MeasurementCollector.java +++ b/src/main/java/de/hottis/measurementCollector/MeasurementCollector.java @@ -24,7 +24,6 @@ public class MeasurementCollector { logger.debug("Configuration loaded"); MqttReceiver mqttReceiver = new MqttReceiver(config); - mqttReceiver.connect(); logger.debug("MqttReceiver started"); JmsTopic queue = new JmsTopic<>(config, JmsTopic.Mode.PRODUCER); @@ -40,6 +39,9 @@ public class MeasurementCollector { espThermometerParser.init(); mqttReceiver.registerParser(espThermometerParser); logger.debug("EspThermometerParser started"); + + mqttReceiver.connect(); + logger.debug("MqttReceiver connected"); } } diff --git a/src/main/java/de/hottis/measurementCollector/MqttReceiver.java b/src/main/java/de/hottis/measurementCollector/MqttReceiver.java index 426c952..463ad28 100644 --- a/src/main/java/de/hottis/measurementCollector/MqttReceiver.java +++ b/src/main/java/de/hottis/measurementCollector/MqttReceiver.java @@ -68,8 +68,8 @@ public class MqttReceiver { try { client = new MqttClient(broker, clientId); client.setCallback(callback); - client.connect(connOpts); - logger.info("Connected"); + reconnect(); + logger.info("Connected"); } catch (MqttException e) { throw new MeasurementCollectorException("MqttReceiver.connect", e); } @@ -101,12 +101,6 @@ public class MqttReceiver { } public void registerParser(AMessageParser parser) throws MeasurementCollectorException { - try { - parsers.put(parser.getTopic(), parser); - client.subscribe(parser.getTopic()); - logger.info("Subscribed: " + parser.getTopic()); - } catch (MqttException e) { - throw new MeasurementCollectorException("MqttReceiver.registerParser", e); - } + parsers.put(parser.getTopic(), parser); } }