public void pushToUrl(PublishMessage publishMessage, OnPushSuccessListener onPushSuccessListener) {
ByteBuffer payloadBuffer = ByteBuffer.wrap((byte[]) publishMessage.getPayload());
String payload = UTF8.decode(payloadBuffer).toString();
MultipartBody httpMessage = Unirest.post(publishMessage.getProtocolData())
.header("accept", "application/json")
.field("topic", publishMessage.getTopic())
.field("message", payload);
if (MqttQoS.AT_LEAST_ONCE.value() == publishMessage.getQos()) {
httpMessage.asJsonAsync(new Callback<JsonNode>() {
public void failed(UnirestException e) {
log.info(" httpPushToUrl failed : problems calling service", e);
}
public void completed(HttpResponse<JsonNode> response) {
int code = response.getStatus();
JsonNode responseBody = response.getBody();
log.info(" httpPushToUrl completed : external server responded with {}", responseBody);
if (200 == code) {
AcknowledgeMessage ackMessage = AcknowledgeMessage.from(publishMessage.getMessageId());
ackMessage.copyTransmissionData(publishMessage);
onPushSuccessListener.success(ackMessage);
}
}
public void cancelled() {
log.info(" httpPushToUrl cancelled : request cancelled.");
}
});
} else {
httpMessage.asJsonAsync();
}
}
PushHandler.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:iotracah
作者:
评论列表
文章目录