WSO2:MQTT 输入事件适配器未侦听



我正在使用WSO2 CEP 4.2.0并创建了MQTT输入事件适配器。我还创建了接收器,它将从外部主题接收数据,然后使用流,我添加了一些逻辑,然后使用发布者将相同的消息发布到另一个外部主题。

现在,当我重新启动应用程序时,我收到以下两条消息:

INFO {org.wso2.carbon.event.input.adapter.core.internal.InputAdapterRuntime} -  Connecting receiver mqttreceiver_test
INFO {org.wso2.carbon.event.input.adapter.mqtt.internal.util.MQTTAdapterListener} -  MQTT Connection successful

然后,当我从外部 mqtt 客户端发布消息时,我可以看到该消息到达事件接收器,经过流处理后,消息将转到输出事件发布者。

但是大约 5 分钟后,事件接收器中不再收到消息。我在日志中也没有收到任何错误消息,但我能感觉到的是输入适配器不再侦听。 任何建议或任何指导都会有所帮助。

谢谢

我可以建议调试此问题的一些事情:

  1. 也许流已中断,因此事件无法到达 输出事件发布者?您可以使用记录器事件发布器 [1] 和日志 由 MQTT 输入事件适配器生成的流。
  2. 为包启用调试日志org.wso2.carbon.event.input.adapter.mqtt.internal.util,以便您 将在MQTTAdapterListener收到消息时看到日志(请参阅 [2] ).您可以按照 [3] 启用调试日志。
  3. 当问题出现时 发生,进行线程转储,看看是否MQTTAdapterListener线程正在运行。

希望这些能帮助您缩小问题范围。

[1] https://docs.wso2.com/display/CEP420/Logger+Event+Publisher

[2] https://github.com/wso2/carbon-analytics-common/blob/v5.1.3/components/event-receiver/event-input-adapters/org.wso2.carbon.event.input.adapter.mqtt/src/main/java/org/wso2/carbon/event/input/adapter/mqtt/internal/util/MQTTAdapterListener.java#L150

[3] https://docs.wso2.com/display/CEP420/Logging

相关内容