package com.dcsquare.blog; import org.eclipse.paho.client.mqttv3.MqttClient; import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.internal.MemoryPersistence; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * @author Dominik Obermaier */ public class WildcardSubscriber { private static final Logger log = LoggerFactory.getLogger(WildcardSubscriber.class); public static final String BROKER_URL = "tcp://broker.mqttdashboard.com:1883"; private static final String TOPIC_SUBSCRIPTION = "#"; private static final int QUALITY_OF_SERVICE_LEVEL = 2; public void start() { log.info("Starting Wilcard subscriber"); try { final String clientId = MqttClient.generateClientId(); final MqttClient mqttClient = new MqttClient(BROKER_URL, clientId, new MemoryPersistence()); mqttClient.setCallback(new SubscribeCallback(mqttClient)); log.info("Connecting to {} with clientID {}", BROKER_URL, clientId); mqttClient.connect(); //We subscribe to wildcard log.info("Subscribing to {}", TOPIC_SUBSCRIPTION); mqttClient.subscribe(TOPIC_SUBSCRIPTION, QUALITY_OF_SERVICE_LEVEL); } catch (MqttException e) { log.error("An unexpected error occured. Exiting", e); System.exit(1); } } public static void main(String... args) { final WildcardSubscriber subscriber = new WildcardSubscriber(); subscriber.start(); } }