jetlink之device
本章主要记录jetlinks-core包中 device包下的主要类及相关理解
前言
该包主要对device相关定义,具体结构如下
类 | 描述 | 备注 |
---|---|---|
DeviceBindHolder | 设备绑定hodler | |
DeviceBindManager | 设备绑定管理器 | |
DeviceBindProvider | 设备绑定提供者 | |
AuthenticationRequest | 认证请求接口 | |
AuthenticationResponse | 认证请求响应 | |
CompositeDeviceMessageSenderInterceptor | 组合设备消息发送拦截器 | |
DeviceConfigKey | 设备配置 | |
DeviceInfo | 设备信息 | |
DeviceMessageSender | 消息发送 | |
DeviceOperationBroker | 设备操作代理, | |
DeviceOperator | 设备操作接口 | |
DeviceProductOperator | 设备产品操作接口 | |
DeviceRegistry | 设备注册中心 | |
DeviceState | 设备状态定义 | |
DeviceStateChecker | 设备状态检查器 | |
DeviceStateInfo | 设备状态信息 | |
DeviceThingType | 设备物类型 | |
MqttAuthenticationRequest | Mqtt请求 实现 | |
ProductInfo | 产品信息 | |
StandaloneDeviceMessageBroker | 设备消息操作代理 |
一、消息发送拦截器
CompositeDeviceMessageSenderInterceptor
组合消息发送拦截器,执行多个消息拦截器
主要包含以下方法:
Mono preSend(DeviceOperator device, DeviceMessage message) 发送前
Flux doSend(DeviceOperator device, DeviceMessage source, Flux sender) 发送时触发
Flux afterSent(DeviceOperator device, DeviceMessage message, Flux reply) 消息发送后
二、设备配置
DeviceConfigKey 设备配置
id("ID"),
metadata("物模型"),
productId("产品ID"),
protocol("消息协议"),
parentGatewayId("上级网关设备ID"),
connectionServerId("当前设备连接的服务ID"),
sessionId("设备会话ID"),
shadow("设备影子"),
//遗言,用于缓存消息,等设备上线时发送指令
will("遗言"),
//设备类型
// device: 直连设备
// childrenDevice: 网关子设备
// gateway: 网关设备
deviceType("设备类型"),
productVersion("产品版本"),
三、设备操作代理
DeviceOperationBroker 设备操作代理,用于管理集群间设备指令发送
四、事件总线定义
主要定义了以下方法:
从事件总线中订阅事件
从事件总线中订阅事件,并按照指定的解码器进行数据转换
推送消息流到事件总线,并返回有多少订阅者订阅了此topic,默认自动根据元素类型进行序列化
推送消息流,并指定编码器用于进行事件序列化
总结
例如:以上就是今天要讲的内容,本文仅简单介绍了device包相关内容,后续有时间再更新。