MqttConsumerCallBack.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.huaxia.imes.mqtt;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
  4. import org.eclipse.paho.client.mqttv3.MqttCallback;
  5. import org.eclipse.paho.client.mqttv3.MqttMessage;
  6. /**
  7. * @author zx
  8. * @since 2024年11月13日
  9. * @Description 消费者回调
  10. */
  11. @Slf4j
  12. public class MqttConsumerCallBack implements MqttCallback {
  13. /**
  14. * 连接丢失
  15. * @param throwable
  16. */
  17. @Override
  18. public void connectionLost(Throwable throwable) {
  19. log.error("连接断开异常{}",throwable.getMessage());
  20. }
  21. /**
  22. * 消息到达
  23. * @param s
  24. * @param mqttMessage
  25. * @throws Exception
  26. */
  27. @Override
  28. public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
  29. log.info("收到消息主题信息:{}",s);
  30. log.info("收到消息内容:{}",new String(mqttMessage.getPayload()));
  31. log.info("收到消息质量:{}",mqttMessage.getQos());
  32. log.info("收到消息是否重复:{}",mqttMessage.isDuplicate());
  33. log.info("收到消息是否已发布:{}",mqttMessage.isRetained());
  34. }
  35. /**
  36. * 消息发布成功的回馈
  37. * @param iMqttDeliveryToken
  38. */
  39. @Override
  40. public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) {
  41. log.info("发布完成客户端信息{}", iMqttDeliveryToken.getClient());
  42. log.info("发布完成主题信息{}", (Object) iMqttDeliveryToken.getTopics());
  43. log.info("发布完成消息id{}", iMqttDeliveryToken.getMessageId());
  44. }
  45. }