Я использую Azure Java SDK, чтобы научиться разрабатывать модуль Java IoT Edge.Я слежу за этим уроком https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-java-module.
Итак, они объясняют, как отправить сообщение и получить сообщение, с помощью обратного вызова, как здесь:
// Send message:
client.sendEventAsync(msg, eventCallback, msg, App.OUTPUT_NAME);
// Receive message:
private static MessageCallbackMqtt msgCallback = new MessageCallbackMqtt();
client.setMessageCallback(App.INPUT_NAME, msgCallback, client);
protected static class MessageCallbackMqtt implements MessageCallback {
private int counter = 0;
@Override
public IotHubMessageResult execute(Message msg, Object context) {
System.out.println(String.format("Received message %d: %s", this.counter, new String(msg.getBytes(), Message.DEFAULT_IOTHUB_MESSAGE_CHARSET)));
}
}
Итак, как вы можете видеть, отправленныеи полученные сообщения имеют тип Сообщение .
Как я могу отправить, например, Integer?Я вижу, что могу преобразовать его в String с помощью
String msgString = new String(msg.getBytes(), Message.DEFAULT_IOTHUB_MESSAGE_CHARSET);
Но как насчет Integer?
Кроме того, в методе sendEventAsync какой третий параметр msg?В документации говорится, что это Object callbackContext
, но я не понимаю, что это такое и почему мы используем msg
в качестве этого параметра.
Спасибо за ваш ответ