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

时间:2019-06-19 09:12:06

标签: wso2 wso2carbon wso2cep wso2-das

我正在使用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 个答案:

答案 0 :(得分:0)

我可以建议调试以下几件事:

  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