當前位置: 首頁>>代碼示例>>Java>>正文


Java MqttCallback類代碼示例

本文整理匯總了Java中org.eclipse.paho.client.mqttv3.MqttCallback的典型用法代碼示例。如果您正苦於以下問題:Java MqttCallback類的具體用法?Java MqttCallback怎麽用?Java MqttCallback使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


MqttCallback類屬於org.eclipse.paho.client.mqttv3包,在下文中一共展示了MqttCallback類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getMqttClient

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
/**
 * get MqttClient by clientKey
 * @param clientKey
 * @return
 * @throws MqttException
 */
public static MqttClient getMqttClient(String serverURI, String clientId,StringRedisTemplate redisTemplate) 
                throws MqttException{
	 String clientKey=serverURI.concat(clientId);
     if(clientMap.get(clientKey)==null){
         lock.lock();
             if(clientMap.get(clientKey)==null){
            	 MqttClientPersistence persistence = new MemoryPersistence();
            	
                 MqttClient client = new MqttClient(serverURI, clientId, persistence);
                 MqttConnectOptions connOpts = new MqttConnectOptions();
                 
                 MqttCallback callback = new IMMqttCallBack(client,redisTemplate);
                 client.setCallback(callback);
                 
                 connOpts.setCleanSession(true);
                 client.connect(connOpts);
                 clientMap.put(clientKey, client);
             }
          lock.unlock();
     }
      return clientMap.get(clientKey);
}
 
開發者ID:projectsrepos,項目名稱:jim,代碼行數:29,代碼來源:MqttClientFactory.java

示例2: messageArrived

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
@Override
public void messageArrived(final String topic, final MqttMessage message) throws Exception {
    logger.info("Message arrived at '{}' with payload {}", topic, message);
    final Collection<MqttCallback> callbacks = this.listeners.get(topic);
    if (callbacks != null) {
        for (final MqttCallback mqttCallback : callbacks) {
            try {
                mqttCallback.messageArrived(topic, message);
            } catch (Exception e) {
                logger.warn("Exception in message processing", e);
            }
        }
    }
    /*
     * Delegates, but cuts-off the prefix.
     */
    if (deliverSignals) {
        signalReceiver.messageArrived(topic.substring(topicPrefix.length()), message);
    }
}
 
開發者ID:zambrovski,項目名稱:mqtt-camunda-bpm,代碼行數:21,代碼來源:MqttReceiver.java

示例3: mqttCallback

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
protected void mqttCallback() {
    client.setCallback(new MqttCallback() {
        @Override
        public void connectionLost(Throwable cause) {
            msg("Connection lost...");
        }

        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
            TextView tvMessage = (TextView) findViewById(R.id.tvMessage);
            tvMessage.setText(message.toString());
        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken token) {

        }
    });
}
 
開發者ID:chooka888,項目名稱:ConAir,代碼行數:20,代碼來源:ACController.java

示例4: addListener

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
/**
 * Registers a callback for receiving MQTT messages.
 * 
 * @param topic
 *            topic to listen for messages.
 * @param callback
 *            listener to register.
 */
public void addListener(final String topic, final MqttCallback callback) {
    logger.info("Adding listener {} to topic '{}'", callback.getClass().getSimpleName(), topic);
    final String fullTopic = this.topicPrefix + topic;
    Collection<MqttCallback> callbacksForTopic = this.listeners.get(fullTopic);
    if (callbacksForTopic == null) {
        callbacksForTopic = new ArrayList<MqttCallback>();
        try {
            this.listeners.put(fullTopic, callbacksForTopic);
            this.client.subscribe(fullTopic);
            logger.info("Subscribed to topic '{}'", fullTopic);
        } catch (MqttException e) {
            logger.error("Error registering listener", e);
        }
    }
    callbacksForTopic.add(callback);
}
 
開發者ID:zambrovski,項目名稱:mqtt-camunda-bpm,代碼行數:25,代碼來源:MqttReceiver.java

示例5: attachCallback

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
/** Attaches the callback used when configuration changes occur. */
public static void attachCallback(MqttClient client, String deviceId) throws MqttException {
  mCallback = new MqttCallback() {
    @Override
    public void connectionLost(Throwable cause) {
      // Do nothing...
    }

    @Override
    public void messageArrived(String topic, MqttMessage message) throws Exception {
      String payload = new String(message.getPayload());
      System.out.println("Payload : " + payload);
      // TODO: Insert your parsing / handling of the configuration message here.
    }

    @Override
    public void deliveryComplete(IMqttDeliveryToken token) {
      // Do nothing;
    }
  };

  String configTopic = String.format("/devices/%s/config", deviceId);
  client.subscribe(configTopic, 1);

  client.setCallback(mCallback);
}
 
開發者ID:GoogleCloudPlatform,項目名稱:java-docs-samples,代碼行數:27,代碼來源:MqttExample.java

示例6: testMqtt

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
@Test
public void testMqtt() throws MqttException, InterruptedException {
  final CountDownLatch messageReceived = new CountDownLatch(1);
  MqttClient client = new MqttClient(mqttServer.getConnectString(), UUID.randomUUID().toString(), new MemoryPersistence());
  client.connect();
  client.setCallback(new MqttCallback() {
    @Override
    public void connectionLost(Throwable cause) {
    }

    @Override
    public void messageArrived(String topic, MqttMessage message) throws Exception {
      messageReceived.countDown();
    }

    @Override
    public void deliveryComplete(IMqttDeliveryToken token) {
    }
  });
  client.subscribe(TOPIC_NAME_TEST);
  client.publish(TOPIC_NAME_TEST, UUID.randomUUID().toString().getBytes(), 0, false);
  assertTrue(messageReceived.await(MQTT_TIMEOUT_MS, TimeUnit.MILLISECONDS));
  client.disconnect();
}
 
開發者ID:ggear,項目名稱:cloudera-framework,代碼行數:25,代碼來源:TestMqttServer.java

示例7: createCallback

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
private MqttCallback createCallback() {
   return new MqttCallback() {

      @Override
      public void messageArrived(String topic, MqttMessage message) throws Exception {
         messageIds.add(message.getId());
         messageArrived = true;
      }

      @Override
      public void deliveryComplete(IMqttDeliveryToken token) {
      }

      @Override
      public void connectionLost(Throwable cause) {
      }
   };
}
 
開發者ID:apache,項目名稱:activemq-artemis,代碼行數:19,代碼來源:MqttAcknowledgementTest.java

示例8: GUIApplication

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
public GUIApplication() throws MqttException {
empf = builder.uri("tcp://" + BarometerApplication.BROKER + ":1883").clientUID("ch.quantasy.knr1.GUIApplication").build();
empf.setCallback(new MqttCallback() {
    @Override
    public void connectionLost(Throwable throwable) {
    }

    @Override
    public void messageArrived(String str, MqttMessage mqttMessage)
	    throws Exception {
	byte[] payload = mqttMessage.getPayload();
	ByteBuffer bb = ByteBuffer.wrap(payload);
	AltitudeProfileView.addBarometricAltitudeData(bb.getInt());
    }

    @Override
    public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
    }
});
MqttConnectOptions options = new MqttConnectOptions();
options.setCleanSession(true);
empf.connect(options);
empf.subscribe(BarometerApplication.TOPIC + "+", 0);
   }
 
開發者ID:knr1,項目名稱:ch.bfh.mobicomp,代碼行數:25,代碼來源:GUIApplication.java

示例9: subscribe

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
private void subscribe(MqttClient client) throws Exception {
	client.subscribe(TOPIC);
	client.setCallback(new MqttCallback() {
		@Override
		public void messageArrived(String topic, MqttMessage message) throws Exception {
			setResponse(new String(message.getPayload()));
		}

		@Override
		public void deliveryComplete(IMqttDeliveryToken token) {
		}

		@Override
		public void connectionLost(Throwable ex) {
			setError(ex);
		}
	});
}
 
開發者ID:lunifera,項目名稱:lunifera-sharky-m2m,代碼行數:19,代碼來源:ActiveMQBrokerIntegrationTest.java

示例10: subscribe

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
private void subscribe(MqttClient client) throws Exception {
	client.subscribe(TOPIC);
	client.setCallback(new MqttCallback() {
		@Override
		public void messageArrived(String topic, MqttMessage message) throws Exception {
			System.out.println(new String(message.getPayload()));
		}

		@Override
		public void deliveryComplete(IMqttDeliveryToken token) {
		}

		@Override
		public void connectionLost(Throwable ex) {
			ex.printStackTrace();
		}
	});
}
 
開發者ID:lunifera,項目名稱:lunifera-sharky-m2m,代碼行數:19,代碼來源:TestReceiver.java

示例11: createClient

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
public MqttAndroidClient createClient(String id, String serverURI, String clientId) {
    MqttClientPersistence mqttClientPersistence = new MemoryPersistence();
    MqttAndroidClient client = new MqttAndroidClient(MyApplication.getContext(), serverURI, clientId, mqttClientPersistence);
    client.setCallback(new MqttCallback() {
        @Override
        public void connectionLost(Throwable cause) {
            LogUtil.e("connectionLost");
            EventBus.getDefault().post(new MQTTActionEvent(Constant.MQTTStatusConstant.CONNECTION_LOST, null, cause));

        }

        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
            LogUtil.d("topic is " + topic + ",message is " + message.toString() + ", qos is " + message.getQos());
            EventBus.getDefault().postSticky(new MessageEvent(new EmqMessage(topic, message)));

        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken token) {
            LogUtil.d("deliveryComplete");


        }
    });

    mClients.put(id, client);

    return client;

}
 
開發者ID:emqtt,項目名稱:EMQ-Android-Toolkit,代碼行數:32,代碼來源:MQTTManager.java

示例12: setupMqtt

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
private void setupMqtt ( final Hive hive, final Session session ) throws MqttException
{
    this.client.setCallback ( new MqttCallback () {

        @Override
        public void messageArrived ( final String topic, final MqttMessage message ) throws Exception
        {
            logger.trace ( "received message '{}' on topic '{}'", message, topic );
            MqttExporter.this.executor.submit ( new Callable<Void> () {
                @Override
                public Void call () throws Exception
                {
                    final String itemId = MqttExporter.this.itemsToWriteTopics.inverse ().get ( topic );
                    if ( itemId != null )
                    {
                        writeMessageToItem ( hive, session, itemId, message );
                    }
                    else
                    {
                        logger.warn ( "received message '{}' on topic '{}' but no corresponding item found", message, topic );
                    }
                    return null;
                }
            } );
        }

        @Override
        public void deliveryComplete ( final IMqttDeliveryToken token )
        {
        }

        @Override
        public void connectionLost ( final Throwable th )
        {
            // TODO: implement this
            logger.warn ( "connectionLost", th );
        }
    } );
}
 
開發者ID:eclipse,項目名稱:neoscada,代碼行數:40,代碼來源:MqttExporter.java

示例13: itCanSubscribeMultipleMessages

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
@Test
public void itCanSubscribeMultipleMessages() throws Throwable {
    
    AsyncPahoUtils.connect(this.asyncClient);

    CountDownLatch latch = new CountDownLatch(4);
    AtomicInteger messageCount = new AtomicInteger(0);

    // Callback to monitor delivery completion
    this.asyncClient.setCallback(new MqttCallback() {

        @Override
        public void messageArrived(String topic, org.eclipse.paho.client.mqttv3.MqttMessage m) throws Exception {
        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken t) {
            latch.countDown();
        }

        @Override
        public void connectionLost(Throwable cause) {
        }
    });

    // Subscribe
    this.observableClient.subscribe(TOPIC, 1).subscribe(r -> {
        messageCount.incrementAndGet();
        latch.countDown();
    });

    // Publish a test message
    AsyncPahoUtils.publish(asyncClient, TOPIC,  new byte[] { 'a', 'b', 'c' });
    AsyncPahoUtils.publish(asyncClient, TOPIC,  new byte[] { 'd', 'e', 'f' });

    // Await for async completion
    latch.await();
    Assert.assertEquals(2, messageCount.get());
}
 
開發者ID:patrickvankann,項目名稱:rxmqtt,代碼行數:40,代碼來源:PahoObservableMqttClientITCase.java

示例14: setCallback

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
/**
 * Set the callback to trigger on message arrival
 *
 * @param listener the listener implementation
 */
public void setCallback(MessageEventListener listener) {

    if (listener == null) {
        logger.debug("Clear callback");
        getMqttClient().setCallback(null);
        return;
    }

    logger.debug("Set callback");
    getMqttClient().setCallback(new MqttCallback() {
        @Override
        public void connectionLost(Throwable thrwbl) {
            logger.warn("Connection to MQTT server lost, reconnecting", thrwbl);
            if (!getMqttClient().isConnected()) {
                mqttClient = null;
                getMqttClient();
            }
        }

        @Override
        public void messageArrived(String mqttTopic, MqttMessage mqttMessage) throws Exception {

            MessageEventListener.Message message = new MessageEventListener.Message();
            message.topic = mqttTopic;
            message.content = new String(mqttMessage.getPayload());

            logger.debug("New message received on {}", message.topic, message.content);
            listener.onMessage(message);
        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken imdt) {

        }
    });
}
 
開發者ID:raptorbox,項目名稱:raptor,代碼行數:42,代碼來源:MqttClientHandler.java

示例15: MQTTconect

import org.eclipse.paho.client.mqttv3.MqttCallback; //導入依賴的package包/類
public MQTTconect(Context contexto,MqttCallback mqttcallback) {

        //gera um código randômico que serve como identificação do cliente
        clientID = MqttClient.generateClientId()+"circularUFPAapp";
        //cria um objeto MQTTClient android entregando como parametro o endereço o servidor e o id do cliente
        mqttAndroidClient = new MqttAndroidClient(contexto, serverAndress, clientID);
        //configura um objeto CallBack (objeto de chamada caso haja alteração)
        mqttAndroidClient.setCallback(mqttcallback);


    }
 
開發者ID:lasseufpa,項目名稱:circular,代碼行數:12,代碼來源:MQTTconect.java


注:本文中的org.eclipse.paho.client.mqttv3.MqttCallback類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。