ValueEvent异常发生在破坏者上

时间:2018-10-01 11:59:51

标签: oauth-2.0 wso2 wso2mb

我正在尝试将作为MQTT服务器的WSO2消息代理与OAUTH2连接到WSO2身份服务器。我在Python上编码。我已经成功创建了一个订阅者,可以正确读取收到的消息。从IS服务器获取访问令牌后,它将连接到代理并正确读取发送的内容。

    client = mqtt.Client()
    client.username_pw_set(username=access_token,password="")
    client.connect(broker_address, port=broker_port)
    client.on_connect = on_connect
    client.on_message = on_message

当我尝试发送消息时,我使用了相同的连接代码来获取Oauth访问令牌。当我使用此代码

    client = mqtt.Client()
    client.username_pw_set(username=access_token,password="")
    client.connect(broker_address, port=broker_port)
    client.on_connect = on_connect
    client.on_message = on_message

我在Broker日志中收到以下异常:

TID: [] [] [2018-10-01 11:49:46,237]  INFO {org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor} -  cleaning old saved subscriptions for client dev7 {org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor}
TID: [] [] [2018-10-01 11:49:46,237] ERROR {org.dna.mqtt.wso2.MqttLogExceptionHandler} -  ValueEvent exception occurred on disruptor. {org.dna.mqtt.wso2.MqttLogExceptionHandler}
java.lang.NullPointerException
        at org.wso2.andes.mqtt.connectors.PersistenceStoreConnector.addMessage(PersistenceStoreConnector.java:110)
        at org.wso2.andes.mqtt.MQTTopicManager.addTopicMessage(MQTTopicManager.java:131)
        at org.dna.mqtt.wso2.AndesMQTTBridge.onMessagePublished(AndesMQTTBridge.java:146)
        at org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor.processPublish(ProtocolProcessor.java:417)
        at org.dna.mqtt.moquette.messaging.spi.impl.SimpleMessaging.onEvent(SimpleMessaging.java:171)
        at org.dna.mqtt.moquette.messaging.spi.impl.SimpleMessaging.onEvent(SimpleMessaging.java:47)
        at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
TID: [] [] [2018-10-01 11:49:46,238]  INFO {org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor} -  cleaning old saved subscriptions for client dev7 {org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor}
TID: [] [] [2018-10-01 11:49:46,238]  INFO {org.wso2.andes.mqtt.MQTTopicManager} -  Disconnecting channel for clientID: dev7 {org.wso2.andes.mqtt.MQTTopicManager}
TID: [] [] [2018-10-01 11:49:46,238]  INFO {org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor} -  Disconnected client dev7 with clean session true {org.dna.mqtt.moquette.messaging.spi.impl.ProtocolProcessor}

避免此错误的方法是在发送方脚本上注释username_pw_set命令。

我已经看到一些消息避免了该错误,但是大多数消息已被服务器丢弃。

我想念什么?

0 个答案:

没有答案