WSO2 CEP/DAS - MQTT 连接不可访问 MqttException (0) - java.lang.NullPointerException
WSO2 CEP/DAS - MQTT connection not reachable MqttException (0) - java.lang.NullPointerException
我发现当 CEP/DAS 收到一个 MQTT 流事件,该事件在 STRING 属性中具有 null 值时,触发 java.lang.NullPointerException 并关闭 MQTT 连接.
示例如下
WORKS(传感器名称有值)
{
"event": {
"metaData": {
"timestamp": 4354643,
"isPowerSaverEnabled": false,
"sensorId": 900,
"sensorName": "temperature"
},
"correlationData": {
"longitude": 4.504343,
"latitude": 20.44345
},
"payloadData": {
"humidity": 5.0,
"sensorValue": 422
}
}
}
失败(当 sensorName 为空时)
{
"event": {
"metaData": {
"timestamp": 4354643,
"isPowerSaverEnabled": false,
"sensorId": 900,
"sensorName": null
},
"correlationData": {
"longitude": 4.504343,
"latitude": 20.44345
},
"payloadData": {
"humidity": 5.0,
"sensorValue": 422
}
}
}
为了解决这个问题,我们发送“”而不是空值,但是有一种方法可以定义流中的属性可以支持空值吗?
谢谢
我能够重现它。这在最新的分支中得到修复。 json 映射器似乎有问题。
我发现当 CEP/DAS 收到一个 MQTT 流事件,该事件在 STRING 属性中具有 null 值时,触发 java.lang.NullPointerException 并关闭 MQTT 连接.
示例如下
WORKS(传感器名称有值)
{
"event": {
"metaData": {
"timestamp": 4354643,
"isPowerSaverEnabled": false,
"sensorId": 900,
"sensorName": "temperature"
},
"correlationData": {
"longitude": 4.504343,
"latitude": 20.44345
},
"payloadData": {
"humidity": 5.0,
"sensorValue": 422
}
}
}
失败(当 sensorName 为空时)
{
"event": {
"metaData": {
"timestamp": 4354643,
"isPowerSaverEnabled": false,
"sensorId": 900,
"sensorName": null
},
"correlationData": {
"longitude": 4.504343,
"latitude": 20.44345
},
"payloadData": {
"humidity": 5.0,
"sensorValue": 422
}
}
}
为了解决这个问题,我们发送“”而不是空值,但是有一种方法可以定义流中的属性可以支持空值吗?
谢谢
我能够重现它。这在最新的分支中得到修复。 json 映射器似乎有问题。