Browse Source

fix: MqttGatewayPublish#publish() log.debug 未判定isDebugEnable

feat: add remark on ServicesPublish
pull/42/head
Vincent 1 year ago
parent
commit
163f08aff5
  1. 4
      src/main/java/com/dji/sdk/mqtt/MqttGatewayPublish.java
  2. 10
      src/main/java/com/dji/sdk/mqtt/services/ServicesPublish.java

4
src/main/java/com/dji/sdk/mqtt/MqttGatewayPublish.java

@ -41,7 +41,9 @@ public class MqttGatewayPublish {
public void publish(String topic, int qos, CommonTopicRequest request) { public void publish(String topic, int qos, CommonTopicRequest request) {
try { try {
if(log.isDebugEnabled()) {
log.debug("send topic: {}, payload: {}", topic, request.toString()); log.debug("send topic: {}, payload: {}", topic, request.toString());
}
byte[] payload = Common.getObjectMapper().writeValueAsBytes(request); byte[] payload = Common.getObjectMapper().writeValueAsBytes(request);
messageGateway.publish(topic, payload, qos); messageGateway.publish(topic, payload, qos);
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
@ -52,7 +54,9 @@ public class MqttGatewayPublish {
public void publish(String topic, int qos, CommonTopicResponse response) { public void publish(String topic, int qos, CommonTopicResponse response) {
try { try {
if(log.isDebugEnabled()) {
log.debug("send topic: {}, payload: {}", topic, response.toString()); log.debug("send topic: {}, payload: {}", topic, response.toString());
}
byte[] payload = Common.getObjectMapper().writeValueAsBytes(response); byte[] payload = Common.getObjectMapper().writeValueAsBytes(response);
messageGateway.publish(topic, payload, qos); messageGateway.publish(topic, payload, qos);
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {

10
src/main/java/com/dji/sdk/mqtt/services/ServicesPublish.java

@ -94,6 +94,16 @@ public class ServicesPublish {
*/ */
} }
/**
* Remark by witcom@2023.09.22
* TODO: 在贡献的版本到这里就不再往下修改了,需要修改所有AbstractXXXService和AOP改动量很大
* 主要思想是
* 1.提供异步支持
* 2.Chan的实现可由用户自定义
* 3.提供发送选项参数
* 4.提供发送前接收后钩子用于记录请求和返回接近最原始的记录
*/
public <T> CompletableFuture<TopicServicesResponse<ServicesReplyData<T>>> publish(TypeReference<T> clazz, String sn, String method, Object data, Consumer<PublishOption> options){ public <T> CompletableFuture<TopicServicesResponse<ServicesReplyData<T>>> publish(TypeReference<T> clazz, String sn, String method, Object data, Consumer<PublishOption> options){
String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + Objects.requireNonNull(sn) + TopicConst.SERVICES_SUF; String topic = TopicConst.THING_MODEL_PRE + TopicConst.PRODUCT + Objects.requireNonNull(sn) + TopicConst.SERVICES_SUF;
return gatewayPublish.publishWithReply(ServicesReplyReceiver.class, topic, new TopicServicesRequest<>() return gatewayPublish.publishWithReply(ServicesReplyReceiver.class, topic, new TopicServicesRequest<>()

Loading…
Cancel
Save