一、该问题的重现步骤是什么?
1. 生成客户端mqtt连接参数
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
1、生成mqtt连接信息参数不限制5分钟有效
2、生成的设备topic匹配兼容问题
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex-iot, 最新版本,windows
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
1、我想生成一个永久设备连接信息提供到生产环境的设备使用,自定义一个函数
2、生成之后信息,不带时间戳,
3、但是我通过客户端连接之后,这个检验不符合我这个情况
4、传过来的参数为null, 时间戳变量是long,所以赋值了0,然后下面判断时间戳小于等于0就会抛出错误,好像我这种情况我需要怎么做,???因为生产设备确实需要不会过期的连接信息;
5、还有系统topic规则能修改吗?因为设备之前用的阿里的,不带/blade, 如果转换你们系统的,带了/balde, 导致topic匹配不通过。我旧设备也无法更改,想新旧设备都兼容,有什么办法解决???
用这个生成clienttype如果为device就不会去校验时间串,认证逻辑可以看这里:https://iot.bladex.cn/feature/link/intro.html#%E4%B8%80%E3%80%81mqtt%E8%BF%9E%E6%8E%A5%E8%AE%A4%E8%AF%81
/**
* 创建客户端认证信息
*
* @return ClientSign
*/
private ClientSign createClientSign() {
ClientIdInfo clientIdInfo = new ClientIdInfo();
clientIdInfo.setClientId(deviceName);
ClientSign clientSign = new ClientSign();
clientSign.setClientIdInfo(clientIdInfo);
clientSign.setProductKey(productKey);
clientSign.setDeviceName(deviceName);
clientSign.setDeviceSecret(deviceSecret);
return clientSign;
}
目前还不支持同时两套topic生效,如果你要支持旧设备和新设备,只能去修改源码了,源码的入口在这里:https://center.javablade.com/blade/BladeX-Links/src/commit/1d95b7a06841269f3ab33824ec349a1703f6fd1c/blade-service/blade-broker/src/main/java/org/springblade/mqtt/broker/data/listener/BladeMqttFunctionMessageListener.java
扫一扫访问 Blade技术社区 移动端