|
|
@@ -7,7 +7,9 @@ import cn.reghao.autodop.dagent.mqttsub.processor.app.AppOpsProcessor;
|
|
|
import cn.reghao.autodop.dagent.mqttsub.processor.machine.MachineOpsProcessor;
|
|
|
import cn.reghao.autodop.dagent.utils.DagentLifecycle;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
|
|
|
import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
|
|
|
+import org.eclipse.paho.client.mqttv3.MqttCallback;
|
|
|
import org.eclipse.paho.client.mqttv3.MqttMessage;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
@@ -21,7 +23,7 @@ import java.lang.management.ManagementFactory;
|
|
|
*/
|
|
|
@Slf4j
|
|
|
@Component
|
|
|
-public class DmasterMsgDispatcher implements IMqttMessageListener {
|
|
|
+public class DmasterMsgDispatcher implements MqttCallback {
|
|
|
private long startTime;
|
|
|
private MachineOpsProcessor machineOpsProcessor;
|
|
|
private AppOpsProcessor appOpsProcessor;
|
|
|
@@ -64,4 +66,19 @@ public class DmasterMsgDispatcher implements IMqttMessageListener {
|
|
|
log.error("MQTT message exception -> {}", e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deliveryComplete(IMqttDeliveryToken token) {
|
|
|
+ if (!token.isComplete()) {
|
|
|
+ log.error("token -> {}", token);
|
|
|
+ } else {
|
|
|
+ // 由于使用 MQTT 记录日志,而每条消息发送成功后都会调用此方法,因此会形成循环引用,导致超高 CPU 使用率
|
|
|
+ // log.info("token -> {}", token);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void connectionLost(Throwable cause) {
|
|
|
+ log.error("MQTT connection lost -> {}", cause.getMessage());
|
|
|
+ }
|
|
|
}
|