【功能优化】IoT:增加有状态的 Bridge 实现思路

This commit is contained in:
YunaiV 2025-02-03 20:06:18 +08:00
parent 7168e60fdd
commit 2109449a89
1 changed files with 4 additions and 3 deletions

View File

@ -11,7 +11,6 @@ import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgTypeEnum;
import cn.iocoder.yudao.module.iot.enums.rule.IotRuleSceneActionTypeEnum;
import cn.iocoder.yudao.module.iot.mq.message.IotDeviceMessage;
import cn.iocoder.yudao.module.iot.service.rule.IotDataBridgeService;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.*;
@ -29,6 +28,9 @@ import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.HEADER_
*
* @author 芋道源码
*/
// TODO @芋艿优化因为 bridge 会比较多所以可以考虑在 rule 新建一个 bridge package然后定义一个 bridgehandler它有
// 1. input 方法output 方法
// 2. build 方法用于有状态的连接例如说 mqtcpwebsocket
@Component
@Slf4j
public class IotRuleSceneDataBridgeAction implements IotRuleSceneAction {
@ -39,8 +41,6 @@ public class IotRuleSceneDataBridgeAction implements IotRuleSceneAction {
@Resource
private IotDataBridgeService dataBridgeService;
private final ObjectMapper objectMapper = new ObjectMapper();
@Override
public void execute(IotDeviceMessage message, IotRuleSceneDO.ActionConfig config) {
// 1. 获得数据桥梁
@ -62,6 +62,7 @@ public class IotRuleSceneDataBridgeAction implements IotRuleSceneAction {
return;
}
// TODO @芋艿因为下面的都是有状态的所以通过 guava 缓存连接然后通过 RemovalNotification 实现关闭例如说一次新建有效期是 10 分钟
// TODO @芋艿mq-redis
// TODO @芋艿mq-数据库
// TODO @芋艿kafka