diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/device/DeviceUserBindEntity.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/device/DeviceUserBindEntity.java index 76cabba..54c1f18 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/device/DeviceUserBindEntity.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/device/DeviceUserBindEntity.java @@ -84,5 +84,8 @@ public class DeviceUserBindEntity extends GenericEntity { @Comment("乡镇以下地址") @Column(name = "address", length = 200) private String address; + @Comment("分类字段名称") + @Column(name = "category_code", length = 20, nullable = false) + private String categoryCode; } \ No newline at end of file diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindDeviceEntity.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindDeviceEntity.java index d75f0ab..7060090 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindDeviceEntity.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/entity/system/SystemTalkBindDeviceEntity.java @@ -41,6 +41,10 @@ public class SystemTalkBindDeviceEntity extends GenericEntity { @Column(name = "user_handling_id", nullable = false) private Long userHandlingId; + @Comment("分类字段名称") + @Column(name = "category_code", length = 20, nullable = false) + private String categoryCode; + @Comment("备注") @Column(name = "remark", length = 255) private String remark; diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/device/DeviceUserBindRequest.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/device/DeviceUserBindRequest.java index ee9d3eb..760b8ae 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/device/DeviceUserBindRequest.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/device/DeviceUserBindRequest.java @@ -1,5 +1,8 @@ package com.qiuguo.iot.data.request.device; import lombok.Data; +import org.hswebframework.ezorm.rdb.mapping.annotation.Comment; + +import javax.persistence.Column; import java.util.Date; /** *

@@ -50,4 +53,7 @@ public class DeviceUserBindRequest implements java.io.Serializable { private String village; //乡镇以下地址 private String address; + + //分类字段名称 + private String categoryCode; } \ No newline at end of file diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindDeviceRequest.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindDeviceRequest.java index 4696cab..fe0f557 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindDeviceRequest.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/system/SystemTalkBindDeviceRequest.java @@ -1,5 +1,8 @@ package com.qiuguo.iot.data.request.system; import lombok.Data; +import org.hswebframework.ezorm.rdb.mapping.annotation.Comment; + +import javax.persistence.Column; import java.util.Date; /** *

@@ -40,6 +43,8 @@ public class SystemTalkBindDeviceRequest implements java.io.Serializable { private Long systemTalkId; //设备操控id private Long userHandlingId; + //分类字段名称 + private String categoryCode; //备注 private String remark; } \ No newline at end of file diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/device/DeviceUserBindResp.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/device/DeviceUserBindResp.java index 97c5ba5..36c142f 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/device/DeviceUserBindResp.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/device/DeviceUserBindResp.java @@ -33,4 +33,6 @@ public class DeviceUserBindResp { private String village; //乡镇以下地址 private String address; + //分类字段名称 + private String categoryCode; } \ No newline at end of file diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindDeviceResp.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindDeviceResp.java index ac69ce8..e4cd506 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindDeviceResp.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/system/SystemTalkBindDeviceResp.java @@ -32,6 +32,8 @@ public class SystemTalkBindDeviceResp { private Long systemTalkId; //设备操控id private Long userHandlingId; + //分类字段名称 + private String categoryCode; //备注 private String remark; } \ No newline at end of file diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/device/DeviceUserBindService.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/device/DeviceUserBindService.java index 6421e5f..e6de927 100644 --- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/device/DeviceUserBindService.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/service/device/DeviceUserBindService.java @@ -77,6 +77,9 @@ public class DeviceUserBindService extends GenericReactiveCrudService group = new ConcurrentHashMap<>(); @@ -99,25 +108,7 @@ public class BoxWebSocketHandler implements WebSocketHandler { //调用千问回答 log.info("未匹配到自定义命令,调用千问"); }else{ - //目前只处理第一条动作 - SystemTalkAnswerConfigEntity talkAnswerConfigEntity = - systemTalkAnswerConfigService.getSystemTalkWithKey(actions.getActions().get(0).getAction()); - DeviceUserBindRequest deviceUserBindRequest = new DeviceUserBindRequest(); - deviceUserBindRequest.setUserId(userId); - deviceUserBindRequest.setPageSize(2); - deviceUserBindRequest.setBindName(actions.getActions().get(0).getName().get(0)); - deviceUserBindService.selectDeviceUserBindsByRequest(deviceUserBindRequest).map(binds ->{ - if(binds.getTotal() > 1){ - //返回告诉有多个设备,请详细说明具体说明设备 - }else{ - UserHandlingDeviceRequest request = new UserHandlingDeviceRequest(); - - //userHandlingDeviceService.selectUserHandlingDeviceByRequest() - } - return Mono.empty(); - }); - - log.info("匹配到自定义指令{}", talkAnswerConfigEntity); + processAction(actions, userId); } return Mono.empty(); @@ -145,6 +136,60 @@ public class BoxWebSocketHandler implements WebSocketHandler { }).then(); } + private void processAction(Actions actions, Long userId) { + //目前只处理第一条动作 + Action action = actions.getActions().get(0); + SystemTalkAnswerConfigEntity talkAnswerConfigEntity = + systemTalkAnswerConfigService.getSystemTalkWithKey(action.getAction()); + DeviceUserBindRequest deviceUserBindRequest = new DeviceUserBindRequest(); + deviceUserBindRequest.setUserId(userId); + deviceUserBindRequest.setPageSize(2); + deviceUserBindRequest.setBindName(action.getName().get(0)); + //查询是否有相关设备 + deviceUserBindService.selectDeviceUserBindsByRequest(deviceUserBindRequest) + .defaultIfEmpty(new PagerResult<>(0, null)) + .map(binds ->{ + if(binds.getTotal() == 0){ + //返回告诉没有备 + }else if(binds.getTotal() > 1){ + //返回告诉有多个设备,请详细说明具体说明设备 + }else{ + //查询是否有相关指令绑定 + DeviceUserBindEntity deviceUserBindEntity = binds.getData().get(0); + SystemTalkBindDeviceRequest systemTalkBindDeviceRequest = new SystemTalkBindDeviceRequest(); + systemTalkBindDeviceRequest.setCategoryCode(deviceUserBindEntity.getCategoryCode()); + systemTalkBindDeviceRequest.setSystemTalkId(talkAnswerConfigEntity.getId()); + systemTalkBindDeviceService.selectSystemTalkBindDeviceByRequest(systemTalkBindDeviceRequest) + .defaultIfEmpty(new SystemTalkBindDeviceEntity()) + .map(systemTalkBindDeviceEntity -> { + if(systemTalkBindDeviceEntity.getId() == null){ + //通知不支持的指令 + }else{ + //调用涂鸦 + TuyaQuery query = new TuyaQuery(); + query.setDeviceId(deviceUserBindEntity.getOtherDeviceId()); + query.setUserHandlingDeviceId(systemTalkBindDeviceEntity.getUserHandlingId()); + tuyaDeviceService.controlDevice(query).map(isOk ->{ + if(isOk){ + //通知打开灯成功 + log.info("执行指令"); + }else{ + //通知开灯失败 + log.info("执行指令失败"); + } + return isOk; + }).subscribe(); + } + return systemTalkBindDeviceEntity; + }).subscribe(); + + } + return Mono.empty(); + }).subscribe(); + + log.info("匹配到自定义指令{}", talkAnswerConfigEntity); + } + private void checkToken(String sn, Long linkTime, String signature, Long userId){ ReactiveValueOperations operations = reactiveStringRedisTemplate.opsForValue(); operations.get(RedisConstans.DEVICE_INFO + sn).defaultIfEmpty("").flatMap(s -> { diff --git a/logs/iot-box-websocket-api/error.log b/logs/iot-box-websocket-api/error.log index fdd5a62..0758df9 100644 --- a/logs/iot-box-websocket-api/error.log +++ b/logs/iot-box-websocket-api/error.log @@ -1595,3 +1595,108 @@ Caused by: java.net.NoRouteToHostException: No route to host: no further informa 09:28:48.529 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket] & group[DEFAULT_GROUP] 09:28:48.539 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket-dev.yml] & group[DEFAULT_GROUP] 09:28:48.539 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration - [doInitialize,134] - Located property source: [BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-application-dev.yml,DEFAULT_GROUP'}] +09:28:48.554 [main] INFO c.q.i.b.w.a.IotBoxWebsocketApplication - [logStartupProfileInfo,637] []- The following 1 profile is active: "dev" +09:28:49.140 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [multipleStoresDetected,262] []- Multiple Spring Data modules found, entering strict repository configuration mode +09:28:49.141 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,132] []- Bootstrapping Spring Data R2DBC repositories in DEFAULT mode. +09:28:49.146 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,201] []- Finished Spring Data repository scanning in 2 ms. Found 0 R2DBC repository interfaces. +09:28:49.152 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [multipleStoresDetected,262] []- Multiple Spring Data modules found, entering strict repository configuration mode +09:28:49.153 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,132] []- Bootstrapping Spring Data Redis repositories in DEFAULT mode. +09:28:49.158 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,201] []- Finished Spring Data repository scanning in 0 ms. Found 0 Redis repository interfaces. +09:28:49.274 [main] INFO o.s.c.c.s.GenericScope - [setSerializationId,283] []- BeanFactory id=37250992-2dd2-39c0-822e-79d190601040 +09:28:49.410 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$$EnhancerBySpringCGLIB$$763e5c0c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.419 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration' of type [org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.420 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.420 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$441/1184974266] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.421 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'defaultsBindHandlerAdvisor' of type [org.springframework.cloud.commons.config.DefaultsBindHandlerAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.423 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'expressionDataSourceSwitchStrategyMatcher' of type [org.hswebframework.web.datasource.strategy.ExpressionDataSourceSwitchStrategyMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.423 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'annotationDataSourceSwitchStrategyMatcher' of type [org.hswebframework.web.datasource.strategy.AnnotationDataSourceSwitchStrategyMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.425 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'alwaysNoMatchStrategyMatcher' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.426 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'switcherMethodMatcherPointcutAdvisor' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$SwitcherMethodMatcherPointcutAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.426 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration' of type [org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration$$EnhancerBySpringCGLIB$$d0e08c1e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.444 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'easyorm-org.hswebframework.web.crud.configuration.EasyormProperties' of type [org.hswebframework.web.crud.configuration.EasyormProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.445 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.crud.configuration.EasyormConfiguration' of type [org.hswebframework.web.crud.configuration.EasyormConfiguration$$EnhancerBySpringCGLIB$$9fcd5b3a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.448 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.crud.configuration.R2dbcSqlExecutorConfiguration' of type [org.hswebframework.web.crud.configuration.R2dbcSqlExecutorConfiguration$$EnhancerBySpringCGLIB$$a05a7aa8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.454 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$PoolConfiguration$PooledConnectionFactoryConfiguration' of type [org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$PoolConfiguration$PooledConnectionFactoryConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.456 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'spring.r2dbc-org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties' of type [org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.490 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'connectionFactory' of type [io.r2dbc.pool.ConnectionPool] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.491 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'reactiveSqlExecutor' of type [org.hswebframework.web.crud.sql.DefaultR2dbcExecutor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.507 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'syncSqlExecutor' of type [org.hswebframework.ezorm.rdb.executor.reactive.ReactiveSyncSqlExecutor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.530 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'databaseMetadata' of type [org.hswebframework.ezorm.rdb.metadata.RDBDatabaseMetadata] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.536 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.datasource.DynamicDataSourceAutoConfiguration' of type [org.hswebframework.web.datasource.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$44c89610] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:50.203 [main] INFO c.q.i.d.s.s.SystemTalkAnswerConfigService - [initGroup,44] []- 初始化自定义回答缓存数据 +09:28:50.497 [main] INFO c.t.c.s.c.ConnectorFactoryBean - [registerErrorProcessor,80] []- register processor for error code: 1010 +09:28:50.543 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,39] []- ==> Preparing: select system_talk_answer_config.`id` as `id` , system_talk_answer_config.`is_delete` as `isDelete` , system_talk_answer_config.`create_time` as `createTime` , system_talk_answer_config.`modify_time` as `modifyTime` , system_talk_answer_config.`user_id` as `userId` , system_talk_answer_config.`ask_key` as `askKey` , system_talk_answer_config.`answer_value` as `answerValue` , system_talk_answer_config.`answer_value_faild` as `answerValueFaild` , system_talk_answer_config.`answer_action` as `answerAction` , system_talk_answer_config.`answer_action_faild` as `answerActionFaild` , system_talk_answer_config.`answer_back_sound` as `answerBackSound` , system_talk_answer_config.`answer_back_img` as `answerBackImg` , system_talk_answer_config.`key_order` as `keyOrder` , system_talk_answer_config.`answer_type` as `answerType` from qiuguo_iot.system_talk_answer_config system_talk_answer_config where system_talk_answer_config.`is_delete` = ? limit ?,? +09:28:50.544 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,41] []- ==> Parameters: 0(Integer),0(Integer),1000(Integer) +09:28:50.544 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,43] []- ==> Native: select system_talk_answer_config.`id` as `id` , system_talk_answer_config.`is_delete` as `isDelete` , system_talk_answer_config.`create_time` as `createTime` , system_talk_answer_config.`modify_time` as `modifyTime` , system_talk_answer_config.`user_id` as `userId` , system_talk_answer_config.`ask_key` as `askKey` , system_talk_answer_config.`answer_value` as `answerValue` , system_talk_answer_config.`answer_value_faild` as `answerValueFaild` , system_talk_answer_config.`answer_action` as `answerAction` , system_talk_answer_config.`answer_action_faild` as `answerActionFaild` , system_talk_answer_config.`answer_back_sound` as `answerBackSound` , system_talk_answer_config.`answer_back_img` as `answerBackImg` , system_talk_answer_config.`key_order` as `keyOrder` , system_talk_answer_config.`answer_type` as `answerType` from qiuguo_iot.system_talk_answer_config system_talk_answer_config where system_talk_answer_config.`is_delete` = 0 limit 0,1000 +09:28:50.593 [reactor-tcp-nio-2] INFO c.q.i.d.s.s.SystemTalkAnswerConfigService - [lambda$initGroup$1,52] []- 配置最多读取1000条,实际读取了35条自定义回答指令 +09:28:51.136 [main] INFO c.a.n.client.naming - [call,65] []- initializer namespace from System Property :null +09:28:51.137 [main] INFO c.a.n.client.naming - [call,74] []- initializer namespace from System Environment :null +09:28:51.137 [main] INFO c.a.n.client.naming - [call,84] []- initializer namespace from System Property :null +09:28:51.711 [main] INFO o.s.b.a.e.w.EndpointLinksResolver - [,58] []- Exposing 18 endpoint(s) beneath base path '/actuator' +09:28:52.781 [main] INFO c.a.n.client.naming - [processServiceJson,232] []- new ips(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:28:52.786 [main] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:28:52.798 [main] INFO o.s.b.w.e.n.NettyWebServer - [start,111] []- Netty started on port 8080 +09:28:53.351 [main] INFO c.a.n.client.naming - [addBeatInfo,81] []- [BEAT] adding beat: BeatInfo{port=8080, ip='172.26.32.1', weight=1.0, serviceName='DEFAULT_GROUP@@qiuguo-iot-box-websocket', cluster='DEFAULT', metadata={preserved.register.source=SPRING_CLOUD}, scheduled=false, period=5000, stopped=false} to beat map. +09:28:53.351 [main] INFO c.a.n.client.naming - [registerService,230] []- [REGISTER-SERVICE] public registering service DEFAULT_GROUP@@qiuguo-iot-box-websocket with instance: Instance{instanceId='null', ip='172.26.32.1', port=8080, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={preserved.register.source=SPRING_CLOUD}} +09:28:53.356 [main] INFO c.a.c.n.r.NacosServiceRegistry - [register,75] []- nacos registry, DEFAULT_GROUP qiuguo-iot-box-websocket 172.26.32.1:8080 register finished +09:28:53.886 [main] INFO c.q.i.b.w.a.IotBoxWebsocketApplication - [logStarted,61] []- Started IotBoxWebsocketApplication in 6.842 seconds (JVM running for 7.885) +09:28:53.890 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket.yml+DEFAULT_GROUP +09:28:53.891 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket.yml, group=DEFAULT_GROUP, cnt=1 +09:28:53.891 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket.yml, group=DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket-dev.yml+DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket-dev.yml, group=DEFAULT_GROUP, cnt=1 +09:28:53.892 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket-dev.yml, group=DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket+DEFAULT_GROUP +09:28:53.893 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket, group=DEFAULT_GROUP, cnt=1 +09:28:53.893 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket, group=DEFAULT_GROUP +09:29:03.703 [reactor-http-nio-2] INFO c.q.i.b.w.a.f.LogWebFilter - [filter,45] [80355f8f-1]- api start time:1695691743703 ip:192.168.8.246 method:GET url:/websocket/box param:{} headers:[Sec-WebSocket-Version:"13", Sec-WebSocket-Key:"mbf26R14IwJiOjpdcVjmAw==", Connection:"Upgrade", Upgrade:"websocket", firmwareVersion:"1.0.0", deviceType:"0", osVersion:"15", os:"android", sn:"QGBOX230919163545yS9", time:"1695106305000", signature:"11AEB264FB10CAA3E6A729B4F172088E", token:"ba2ef9fd8a70a6ac72c38aa6a46be4f6", User-Agent:"Apifox/1.0.0 (https://apifox.com)", Sec-WebSocket-Extensions:"permessage-deflate; client_max_window_bits", Host:"192.168.8.175:8080"] +09:29:03.728 [reactor-http-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [handle,83] []- 登录成功SN:QGBOX230919163545yS9 +09:29:03.737 [reactor-http-nio-2] INFO c.q.i.b.w.a.f.LogWebFilter - [lambda$filter$1,69] [80355f8f-1]- api end time:1695691743737, total time:34 +09:29:03.774 [lettuce-nioEventLoop-5-1] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [bindBox,171] []- 开始绑定设备userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = ? and device_user_bind.`user_id` = ? and device_user_bind.`device_id` = ? limit ?,? +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 0(Integer),6025(Long),3(Long),0(Integer),1(Integer) +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = 0 and device_user_bind.`user_id` = 6025 and device_user_bind.`device_id` = 3 limit 0,1 +09:29:03.799 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,232] []- new ips(1) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:29:03.800 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(3) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:30:16.622 [reactor-http-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$handle$4,124] []- 设备断开连接SN:QGBOX230919163545yS9 +09:30:19.457 [reactor-http-nio-3] INFO c.q.i.b.w.a.f.LogWebFilter - [filter,45] [7dccd47d-2]- api start time:1695691819457 ip:192.168.8.246 method:GET url:/websocket/box param:{} headers:[Sec-WebSocket-Version:"13", Sec-WebSocket-Key:"QnF+q2dxLwB3y4p7RXJy8g==", Connection:"Upgrade", Upgrade:"websocket", firmwareVersion:"1.0.0", deviceType:"0", osVersion:"15", os:"android", sn:"QGBOX230919163545yS9", time:"1695106305000", signature:"11AEB264FB10CAA3E6A729B4F172088E", token:"ba2ef9fd8a70a6ac72c38aa6a46be4f6", User-Agent:"Apifox/1.0.0 (https://apifox.com)", Sec-WebSocket-Extensions:"permessage-deflate; client_max_window_bits", Host:"192.168.8.175:8080"] +09:30:19.459 [reactor-http-nio-3] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [handle,83] []- 登录成功SN:QGBOX230919163545yS9 +09:30:19.460 [reactor-http-nio-3] INFO c.q.i.b.w.a.f.LogWebFilter - [lambda$filter$1,69] [7dccd47d-2]- api end time:1695691819460, total time:3 +09:30:19.465 [lettuce-nioEventLoop-5-1] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [bindBox,171] []- 开始绑定设备userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) +09:30:19.473 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = ? and device_user_bind.`user_id` = ? and device_user_bind.`device_id` = ? limit ?,? +09:30:19.474 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 0(Integer),6025(Long),3(Long),0(Integer),1(Integer) +09:30:19.474 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = 0 and device_user_bind.`user_id` = 6025 and device_user_bind.`device_id` = 3 limit 0,1 +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: insert into qiuguo_iot.device_user_bind ( `user_id` , `device_id` ) values ( ? , ? ) +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 6025(Long),3(Long) +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: insert into qiuguo_iot.device_user_bind ( `user_id` , `device_id` ) values ( 6025 , 3 ) +09:30:19.545 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [lambda$null$9,146] []- ==> Updated: 1 +09:30:19.557 [reactor-tcp-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$null$8,185] []- 绑定成功userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) userId:6025 +10:30:10.237 [Thread-38] WARN c.a.n.c.n.NotifyCenter - [shutdown,145] []- [NotifyCenter] Start destroying Publisher +10:30:10.238 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,108] []- [HttpClientBeanHolder] Start destroying common HttpClient +10:30:10.239 [Thread-38] WARN c.a.n.c.n.NotifyCenter - [shutdown,162] []- [NotifyCenter] Destruction of the end +10:30:10.240 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,114] []- [HttpClientBeanHolder] Destruction of the end +10:30:13.261 [reactor-http-nio-3] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$handle$4,124] []- 设备断开连接SN:QGBOX230919163545yS9 +10:30:13.264 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,94] []- De-registering from Nacos Server now... +10:30:13.265 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [removeBeatInfo,101] []- [BEAT] removing beat: DEFAULT_GROUP@@qiuguo-iot-box-websocket:172.26.32.1:8080 from beat map. +10:30:13.265 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [deregisterService,260] []- [DEREGISTER-SERVICE] public deregistering service DEFAULT_GROUP@@qiuguo-iot-box-websocket with instance: Instance{instanceId='null', ip='172.26.32.1', port=8080, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={}} +10:30:13.269 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,114] []- De-registration finished. +10:30:13.270 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,147] []- com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown begin +10:30:16.272 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,149] []- com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown stop +10:30:16.273 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,413] []- com.alibaba.nacos.client.naming.core.HostReactor do shutdown begin +10:30:16.741 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,238] []- removed ips(1) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +10:30:16.744 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +10:30:16.745 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,132] []- com.alibaba.nacos.client.naming.core.PushReceiver do shutdown begin +10:30:19.747 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,136] []- com.alibaba.nacos.client.naming.core.PushReceiver do shutdown stop +10:30:19.747 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,132] []- com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,134] []- com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,418] []- com.alibaba.nacos.client.naming.core.HostReactor do shutdown stop +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,719] []- com.alibaba.nacos.client.naming.net.NamingProxy do shutdown begin +10:30:19.748 [SpringApplicationShutdownHook] WARN c.a.n.client.naming - [shutdown,72] []- [NamingHttpClientManager] Start destroying NacosRestTemplate +10:30:19.748 [SpringApplicationShutdownHook] WARN c.a.n.client.naming - [shutdown,79] []- [NamingHttpClientManager] Destruction of the end +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.c.i.CredentialWatcher - [stop,105] []- [null] CredentialWatcher is stopped +10:30:19.749 [SpringApplicationShutdownHook] INFO c.a.n.c.i.CredentialService - [free,98] []- [null] CredentialService is freed +10:30:19.749 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,723] []- com.alibaba.nacos.client.naming.net.NamingProxy do shutdown stop +10:30:32.867 [background-preinit] INFO o.h.v.i.util.Version - [,21] - HV000001: Hibernate Validator 6.2.5.Final +10:30:33.626 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket] & group[DEFAULT_GROUP] +10:30:33.633 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket-dev.yml] & group[DEFAULT_GROUP] +10:30:33.634 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration - [doInitialize,134] - Located property source: [BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-application-dev.yml,DEFAULT_GROUP'}] diff --git a/logs/iot-box-websocket-api/info.log b/logs/iot-box-websocket-api/info.log index 8814c5f..1baf6f2 100644 --- a/logs/iot-box-websocket-api/info.log +++ b/logs/iot-box-websocket-api/info.log @@ -1595,3 +1595,108 @@ Caused by: java.net.NoRouteToHostException: No route to host: no further informa 09:28:48.529 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket] & group[DEFAULT_GROUP] 09:28:48.539 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket-dev.yml] & group[DEFAULT_GROUP] 09:28:48.539 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration - [doInitialize,134] - Located property source: [BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-application-dev.yml,DEFAULT_GROUP'}] +09:28:48.554 [main] INFO c.q.i.b.w.a.IotBoxWebsocketApplication - [logStartupProfileInfo,637] []- The following 1 profile is active: "dev" +09:28:49.140 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [multipleStoresDetected,262] []- Multiple Spring Data modules found, entering strict repository configuration mode +09:28:49.141 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,132] []- Bootstrapping Spring Data R2DBC repositories in DEFAULT mode. +09:28:49.146 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,201] []- Finished Spring Data repository scanning in 2 ms. Found 0 R2DBC repository interfaces. +09:28:49.152 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [multipleStoresDetected,262] []- Multiple Spring Data modules found, entering strict repository configuration mode +09:28:49.153 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,132] []- Bootstrapping Spring Data Redis repositories in DEFAULT mode. +09:28:49.158 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,201] []- Finished Spring Data repository scanning in 0 ms. Found 0 Redis repository interfaces. +09:28:49.274 [main] INFO o.s.c.c.s.GenericScope - [setSerializationId,283] []- BeanFactory id=37250992-2dd2-39c0-822e-79d190601040 +09:28:49.410 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$$EnhancerBySpringCGLIB$$763e5c0c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.419 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration' of type [org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.420 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.420 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$441/1184974266] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.421 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'defaultsBindHandlerAdvisor' of type [org.springframework.cloud.commons.config.DefaultsBindHandlerAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.423 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'expressionDataSourceSwitchStrategyMatcher' of type [org.hswebframework.web.datasource.strategy.ExpressionDataSourceSwitchStrategyMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.423 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'annotationDataSourceSwitchStrategyMatcher' of type [org.hswebframework.web.datasource.strategy.AnnotationDataSourceSwitchStrategyMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.425 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'alwaysNoMatchStrategyMatcher' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.426 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'switcherMethodMatcherPointcutAdvisor' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$SwitcherMethodMatcherPointcutAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.426 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration' of type [org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration$$EnhancerBySpringCGLIB$$d0e08c1e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.444 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'easyorm-org.hswebframework.web.crud.configuration.EasyormProperties' of type [org.hswebframework.web.crud.configuration.EasyormProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.445 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.crud.configuration.EasyormConfiguration' of type [org.hswebframework.web.crud.configuration.EasyormConfiguration$$EnhancerBySpringCGLIB$$9fcd5b3a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.448 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.crud.configuration.R2dbcSqlExecutorConfiguration' of type [org.hswebframework.web.crud.configuration.R2dbcSqlExecutorConfiguration$$EnhancerBySpringCGLIB$$a05a7aa8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.454 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$PoolConfiguration$PooledConnectionFactoryConfiguration' of type [org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$PoolConfiguration$PooledConnectionFactoryConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.456 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'spring.r2dbc-org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties' of type [org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.490 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'connectionFactory' of type [io.r2dbc.pool.ConnectionPool] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.491 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'reactiveSqlExecutor' of type [org.hswebframework.web.crud.sql.DefaultR2dbcExecutor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.507 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'syncSqlExecutor' of type [org.hswebframework.ezorm.rdb.executor.reactive.ReactiveSyncSqlExecutor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.530 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'databaseMetadata' of type [org.hswebframework.ezorm.rdb.metadata.RDBDatabaseMetadata] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.536 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.datasource.DynamicDataSourceAutoConfiguration' of type [org.hswebframework.web.datasource.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$44c89610] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:50.203 [main] INFO c.q.i.d.s.s.SystemTalkAnswerConfigService - [initGroup,44] []- 初始化自定义回答缓存数据 +09:28:50.497 [main] INFO c.t.c.s.c.ConnectorFactoryBean - [registerErrorProcessor,80] []- register processor for error code: 1010 +09:28:50.543 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,39] []- ==> Preparing: select system_talk_answer_config.`id` as `id` , system_talk_answer_config.`is_delete` as `isDelete` , system_talk_answer_config.`create_time` as `createTime` , system_talk_answer_config.`modify_time` as `modifyTime` , system_talk_answer_config.`user_id` as `userId` , system_talk_answer_config.`ask_key` as `askKey` , system_talk_answer_config.`answer_value` as `answerValue` , system_talk_answer_config.`answer_value_faild` as `answerValueFaild` , system_talk_answer_config.`answer_action` as `answerAction` , system_talk_answer_config.`answer_action_faild` as `answerActionFaild` , system_talk_answer_config.`answer_back_sound` as `answerBackSound` , system_talk_answer_config.`answer_back_img` as `answerBackImg` , system_talk_answer_config.`key_order` as `keyOrder` , system_talk_answer_config.`answer_type` as `answerType` from qiuguo_iot.system_talk_answer_config system_talk_answer_config where system_talk_answer_config.`is_delete` = ? limit ?,? +09:28:50.544 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,41] []- ==> Parameters: 0(Integer),0(Integer),1000(Integer) +09:28:50.544 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,43] []- ==> Native: select system_talk_answer_config.`id` as `id` , system_talk_answer_config.`is_delete` as `isDelete` , system_talk_answer_config.`create_time` as `createTime` , system_talk_answer_config.`modify_time` as `modifyTime` , system_talk_answer_config.`user_id` as `userId` , system_talk_answer_config.`ask_key` as `askKey` , system_talk_answer_config.`answer_value` as `answerValue` , system_talk_answer_config.`answer_value_faild` as `answerValueFaild` , system_talk_answer_config.`answer_action` as `answerAction` , system_talk_answer_config.`answer_action_faild` as `answerActionFaild` , system_talk_answer_config.`answer_back_sound` as `answerBackSound` , system_talk_answer_config.`answer_back_img` as `answerBackImg` , system_talk_answer_config.`key_order` as `keyOrder` , system_talk_answer_config.`answer_type` as `answerType` from qiuguo_iot.system_talk_answer_config system_talk_answer_config where system_talk_answer_config.`is_delete` = 0 limit 0,1000 +09:28:50.593 [reactor-tcp-nio-2] INFO c.q.i.d.s.s.SystemTalkAnswerConfigService - [lambda$initGroup$1,52] []- 配置最多读取1000条,实际读取了35条自定义回答指令 +09:28:51.136 [main] INFO c.a.n.client.naming - [call,65] []- initializer namespace from System Property :null +09:28:51.137 [main] INFO c.a.n.client.naming - [call,74] []- initializer namespace from System Environment :null +09:28:51.137 [main] INFO c.a.n.client.naming - [call,84] []- initializer namespace from System Property :null +09:28:51.711 [main] INFO o.s.b.a.e.w.EndpointLinksResolver - [,58] []- Exposing 18 endpoint(s) beneath base path '/actuator' +09:28:52.781 [main] INFO c.a.n.client.naming - [processServiceJson,232] []- new ips(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:28:52.786 [main] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:28:52.798 [main] INFO o.s.b.w.e.n.NettyWebServer - [start,111] []- Netty started on port 8080 +09:28:53.351 [main] INFO c.a.n.client.naming - [addBeatInfo,81] []- [BEAT] adding beat: BeatInfo{port=8080, ip='172.26.32.1', weight=1.0, serviceName='DEFAULT_GROUP@@qiuguo-iot-box-websocket', cluster='DEFAULT', metadata={preserved.register.source=SPRING_CLOUD}, scheduled=false, period=5000, stopped=false} to beat map. +09:28:53.351 [main] INFO c.a.n.client.naming - [registerService,230] []- [REGISTER-SERVICE] public registering service DEFAULT_GROUP@@qiuguo-iot-box-websocket with instance: Instance{instanceId='null', ip='172.26.32.1', port=8080, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={preserved.register.source=SPRING_CLOUD}} +09:28:53.356 [main] INFO c.a.c.n.r.NacosServiceRegistry - [register,75] []- nacos registry, DEFAULT_GROUP qiuguo-iot-box-websocket 172.26.32.1:8080 register finished +09:28:53.886 [main] INFO c.q.i.b.w.a.IotBoxWebsocketApplication - [logStarted,61] []- Started IotBoxWebsocketApplication in 6.842 seconds (JVM running for 7.885) +09:28:53.890 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket.yml+DEFAULT_GROUP +09:28:53.891 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket.yml, group=DEFAULT_GROUP, cnt=1 +09:28:53.891 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket.yml, group=DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket-dev.yml+DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket-dev.yml, group=DEFAULT_GROUP, cnt=1 +09:28:53.892 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket-dev.yml, group=DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket+DEFAULT_GROUP +09:28:53.893 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket, group=DEFAULT_GROUP, cnt=1 +09:28:53.893 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket, group=DEFAULT_GROUP +09:29:03.703 [reactor-http-nio-2] INFO c.q.i.b.w.a.f.LogWebFilter - [filter,45] [80355f8f-1]- api start time:1695691743703 ip:192.168.8.246 method:GET url:/websocket/box param:{} headers:[Sec-WebSocket-Version:"13", Sec-WebSocket-Key:"mbf26R14IwJiOjpdcVjmAw==", Connection:"Upgrade", Upgrade:"websocket", firmwareVersion:"1.0.0", deviceType:"0", osVersion:"15", os:"android", sn:"QGBOX230919163545yS9", time:"1695106305000", signature:"11AEB264FB10CAA3E6A729B4F172088E", token:"ba2ef9fd8a70a6ac72c38aa6a46be4f6", User-Agent:"Apifox/1.0.0 (https://apifox.com)", Sec-WebSocket-Extensions:"permessage-deflate; client_max_window_bits", Host:"192.168.8.175:8080"] +09:29:03.728 [reactor-http-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [handle,83] []- 登录成功SN:QGBOX230919163545yS9 +09:29:03.737 [reactor-http-nio-2] INFO c.q.i.b.w.a.f.LogWebFilter - [lambda$filter$1,69] [80355f8f-1]- api end time:1695691743737, total time:34 +09:29:03.774 [lettuce-nioEventLoop-5-1] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [bindBox,171] []- 开始绑定设备userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = ? and device_user_bind.`user_id` = ? and device_user_bind.`device_id` = ? limit ?,? +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 0(Integer),6025(Long),3(Long),0(Integer),1(Integer) +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = 0 and device_user_bind.`user_id` = 6025 and device_user_bind.`device_id` = 3 limit 0,1 +09:29:03.799 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,232] []- new ips(1) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:29:03.800 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(3) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:30:16.622 [reactor-http-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$handle$4,124] []- 设备断开连接SN:QGBOX230919163545yS9 +09:30:19.457 [reactor-http-nio-3] INFO c.q.i.b.w.a.f.LogWebFilter - [filter,45] [7dccd47d-2]- api start time:1695691819457 ip:192.168.8.246 method:GET url:/websocket/box param:{} headers:[Sec-WebSocket-Version:"13", Sec-WebSocket-Key:"QnF+q2dxLwB3y4p7RXJy8g==", Connection:"Upgrade", Upgrade:"websocket", firmwareVersion:"1.0.0", deviceType:"0", osVersion:"15", os:"android", sn:"QGBOX230919163545yS9", time:"1695106305000", signature:"11AEB264FB10CAA3E6A729B4F172088E", token:"ba2ef9fd8a70a6ac72c38aa6a46be4f6", User-Agent:"Apifox/1.0.0 (https://apifox.com)", Sec-WebSocket-Extensions:"permessage-deflate; client_max_window_bits", Host:"192.168.8.175:8080"] +09:30:19.459 [reactor-http-nio-3] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [handle,83] []- 登录成功SN:QGBOX230919163545yS9 +09:30:19.460 [reactor-http-nio-3] INFO c.q.i.b.w.a.f.LogWebFilter - [lambda$filter$1,69] [7dccd47d-2]- api end time:1695691819460, total time:3 +09:30:19.465 [lettuce-nioEventLoop-5-1] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [bindBox,171] []- 开始绑定设备userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) +09:30:19.473 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = ? and device_user_bind.`user_id` = ? and device_user_bind.`device_id` = ? limit ?,? +09:30:19.474 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 0(Integer),6025(Long),3(Long),0(Integer),1(Integer) +09:30:19.474 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = 0 and device_user_bind.`user_id` = 6025 and device_user_bind.`device_id` = 3 limit 0,1 +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: insert into qiuguo_iot.device_user_bind ( `user_id` , `device_id` ) values ( ? , ? ) +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 6025(Long),3(Long) +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: insert into qiuguo_iot.device_user_bind ( `user_id` , `device_id` ) values ( 6025 , 3 ) +09:30:19.545 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [lambda$null$9,146] []- ==> Updated: 1 +09:30:19.557 [reactor-tcp-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$null$8,185] []- 绑定成功userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) userId:6025 +10:30:10.237 [Thread-38] WARN c.a.n.c.n.NotifyCenter - [shutdown,145] []- [NotifyCenter] Start destroying Publisher +10:30:10.238 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,108] []- [HttpClientBeanHolder] Start destroying common HttpClient +10:30:10.239 [Thread-38] WARN c.a.n.c.n.NotifyCenter - [shutdown,162] []- [NotifyCenter] Destruction of the end +10:30:10.240 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,114] []- [HttpClientBeanHolder] Destruction of the end +10:30:13.261 [reactor-http-nio-3] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$handle$4,124] []- 设备断开连接SN:QGBOX230919163545yS9 +10:30:13.264 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,94] []- De-registering from Nacos Server now... +10:30:13.265 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [removeBeatInfo,101] []- [BEAT] removing beat: DEFAULT_GROUP@@qiuguo-iot-box-websocket:172.26.32.1:8080 from beat map. +10:30:13.265 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [deregisterService,260] []- [DEREGISTER-SERVICE] public deregistering service DEFAULT_GROUP@@qiuguo-iot-box-websocket with instance: Instance{instanceId='null', ip='172.26.32.1', port=8080, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={}} +10:30:13.269 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,114] []- De-registration finished. +10:30:13.270 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,147] []- com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown begin +10:30:16.272 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,149] []- com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown stop +10:30:16.273 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,413] []- com.alibaba.nacos.client.naming.core.HostReactor do shutdown begin +10:30:16.741 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,238] []- removed ips(1) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +10:30:16.744 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +10:30:16.745 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,132] []- com.alibaba.nacos.client.naming.core.PushReceiver do shutdown begin +10:30:19.747 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,136] []- com.alibaba.nacos.client.naming.core.PushReceiver do shutdown stop +10:30:19.747 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,132] []- com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,134] []- com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,418] []- com.alibaba.nacos.client.naming.core.HostReactor do shutdown stop +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,719] []- com.alibaba.nacos.client.naming.net.NamingProxy do shutdown begin +10:30:19.748 [SpringApplicationShutdownHook] WARN c.a.n.client.naming - [shutdown,72] []- [NamingHttpClientManager] Start destroying NacosRestTemplate +10:30:19.748 [SpringApplicationShutdownHook] WARN c.a.n.client.naming - [shutdown,79] []- [NamingHttpClientManager] Destruction of the end +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.c.i.CredentialWatcher - [stop,105] []- [null] CredentialWatcher is stopped +10:30:19.749 [SpringApplicationShutdownHook] INFO c.a.n.c.i.CredentialService - [free,98] []- [null] CredentialService is freed +10:30:19.749 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,723] []- com.alibaba.nacos.client.naming.net.NamingProxy do shutdown stop +10:30:32.867 [background-preinit] INFO o.h.v.i.util.Version - [,21] - HV000001: Hibernate Validator 6.2.5.Final +10:30:33.626 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket] & group[DEFAULT_GROUP] +10:30:33.633 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket-dev.yml] & group[DEFAULT_GROUP] +10:30:33.634 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration - [doInitialize,134] - Located property source: [BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-application-dev.yml,DEFAULT_GROUP'}] diff --git a/logs/iot-box-websocket-api/warn.log b/logs/iot-box-websocket-api/warn.log index fdd5a62..0758df9 100644 --- a/logs/iot-box-websocket-api/warn.log +++ b/logs/iot-box-websocket-api/warn.log @@ -1595,3 +1595,108 @@ Caused by: java.net.NoRouteToHostException: No route to host: no further informa 09:28:48.529 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket] & group[DEFAULT_GROUP] 09:28:48.539 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket-dev.yml] & group[DEFAULT_GROUP] 09:28:48.539 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration - [doInitialize,134] - Located property source: [BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-application-dev.yml,DEFAULT_GROUP'}] +09:28:48.554 [main] INFO c.q.i.b.w.a.IotBoxWebsocketApplication - [logStartupProfileInfo,637] []- The following 1 profile is active: "dev" +09:28:49.140 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [multipleStoresDetected,262] []- Multiple Spring Data modules found, entering strict repository configuration mode +09:28:49.141 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,132] []- Bootstrapping Spring Data R2DBC repositories in DEFAULT mode. +09:28:49.146 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,201] []- Finished Spring Data repository scanning in 2 ms. Found 0 R2DBC repository interfaces. +09:28:49.152 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [multipleStoresDetected,262] []- Multiple Spring Data modules found, entering strict repository configuration mode +09:28:49.153 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,132] []- Bootstrapping Spring Data Redis repositories in DEFAULT mode. +09:28:49.158 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - [registerRepositoriesIn,201] []- Finished Spring Data repository scanning in 0 ms. Found 0 Redis repository interfaces. +09:28:49.274 [main] INFO o.s.c.c.s.GenericScope - [setSerializationId,283] []- BeanFactory id=37250992-2dd2-39c0-822e-79d190601040 +09:28:49.410 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$$EnhancerBySpringCGLIB$$763e5c0c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.419 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration' of type [org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.420 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.420 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$441/1184974266] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.421 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'defaultsBindHandlerAdvisor' of type [org.springframework.cloud.commons.config.DefaultsBindHandlerAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.423 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'expressionDataSourceSwitchStrategyMatcher' of type [org.hswebframework.web.datasource.strategy.ExpressionDataSourceSwitchStrategyMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.423 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'annotationDataSourceSwitchStrategyMatcher' of type [org.hswebframework.web.datasource.strategy.AnnotationDataSourceSwitchStrategyMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.425 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'alwaysNoMatchStrategyMatcher' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.426 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'switcherMethodMatcherPointcutAdvisor' of type [org.hswebframework.web.datasource.AopDataSourceSwitcherAutoConfiguration$SwitcherMethodMatcherPointcutAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.426 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration' of type [org.hswebframework.web.authorization.simple.DefaultAuthorizationAutoConfiguration$$EnhancerBySpringCGLIB$$d0e08c1e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.444 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'easyorm-org.hswebframework.web.crud.configuration.EasyormProperties' of type [org.hswebframework.web.crud.configuration.EasyormProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.445 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.crud.configuration.EasyormConfiguration' of type [org.hswebframework.web.crud.configuration.EasyormConfiguration$$EnhancerBySpringCGLIB$$9fcd5b3a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.448 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.crud.configuration.R2dbcSqlExecutorConfiguration' of type [org.hswebframework.web.crud.configuration.R2dbcSqlExecutorConfiguration$$EnhancerBySpringCGLIB$$a05a7aa8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.454 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$PoolConfiguration$PooledConnectionFactoryConfiguration' of type [org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations$PoolConfiguration$PooledConnectionFactoryConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.456 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'spring.r2dbc-org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties' of type [org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.490 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'connectionFactory' of type [io.r2dbc.pool.ConnectionPool] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.491 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'reactiveSqlExecutor' of type [org.hswebframework.web.crud.sql.DefaultR2dbcExecutor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.507 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'syncSqlExecutor' of type [org.hswebframework.ezorm.rdb.executor.reactive.ReactiveSyncSqlExecutor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.530 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'databaseMetadata' of type [org.hswebframework.ezorm.rdb.metadata.RDBDatabaseMetadata] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:49.536 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - [postProcessAfterInitialization,376] []- Bean 'org.hswebframework.web.datasource.DynamicDataSourceAutoConfiguration' of type [org.hswebframework.web.datasource.DynamicDataSourceAutoConfiguration$$EnhancerBySpringCGLIB$$44c89610] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) +09:28:50.203 [main] INFO c.q.i.d.s.s.SystemTalkAnswerConfigService - [initGroup,44] []- 初始化自定义回答缓存数据 +09:28:50.497 [main] INFO c.t.c.s.c.ConnectorFactoryBean - [registerErrorProcessor,80] []- register processor for error code: 1010 +09:28:50.543 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,39] []- ==> Preparing: select system_talk_answer_config.`id` as `id` , system_talk_answer_config.`is_delete` as `isDelete` , system_talk_answer_config.`create_time` as `createTime` , system_talk_answer_config.`modify_time` as `modifyTime` , system_talk_answer_config.`user_id` as `userId` , system_talk_answer_config.`ask_key` as `askKey` , system_talk_answer_config.`answer_value` as `answerValue` , system_talk_answer_config.`answer_value_faild` as `answerValueFaild` , system_talk_answer_config.`answer_action` as `answerAction` , system_talk_answer_config.`answer_action_faild` as `answerActionFaild` , system_talk_answer_config.`answer_back_sound` as `answerBackSound` , system_talk_answer_config.`answer_back_img` as `answerBackImg` , system_talk_answer_config.`key_order` as `keyOrder` , system_talk_answer_config.`answer_type` as `answerType` from qiuguo_iot.system_talk_answer_config system_talk_answer_config where system_talk_answer_config.`is_delete` = ? limit ?,? +09:28:50.544 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,41] []- ==> Parameters: 0(Integer),0(Integer),1000(Integer) +09:28:50.544 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.s.SystemTalkAnswerConfigEntity - [printSql,43] []- ==> Native: select system_talk_answer_config.`id` as `id` , system_talk_answer_config.`is_delete` as `isDelete` , system_talk_answer_config.`create_time` as `createTime` , system_talk_answer_config.`modify_time` as `modifyTime` , system_talk_answer_config.`user_id` as `userId` , system_talk_answer_config.`ask_key` as `askKey` , system_talk_answer_config.`answer_value` as `answerValue` , system_talk_answer_config.`answer_value_faild` as `answerValueFaild` , system_talk_answer_config.`answer_action` as `answerAction` , system_talk_answer_config.`answer_action_faild` as `answerActionFaild` , system_talk_answer_config.`answer_back_sound` as `answerBackSound` , system_talk_answer_config.`answer_back_img` as `answerBackImg` , system_talk_answer_config.`key_order` as `keyOrder` , system_talk_answer_config.`answer_type` as `answerType` from qiuguo_iot.system_talk_answer_config system_talk_answer_config where system_talk_answer_config.`is_delete` = 0 limit 0,1000 +09:28:50.593 [reactor-tcp-nio-2] INFO c.q.i.d.s.s.SystemTalkAnswerConfigService - [lambda$initGroup$1,52] []- 配置最多读取1000条,实际读取了35条自定义回答指令 +09:28:51.136 [main] INFO c.a.n.client.naming - [call,65] []- initializer namespace from System Property :null +09:28:51.137 [main] INFO c.a.n.client.naming - [call,74] []- initializer namespace from System Environment :null +09:28:51.137 [main] INFO c.a.n.client.naming - [call,84] []- initializer namespace from System Property :null +09:28:51.711 [main] INFO o.s.b.a.e.w.EndpointLinksResolver - [,58] []- Exposing 18 endpoint(s) beneath base path '/actuator' +09:28:52.781 [main] INFO c.a.n.client.naming - [processServiceJson,232] []- new ips(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:28:52.786 [main] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:28:52.798 [main] INFO o.s.b.w.e.n.NettyWebServer - [start,111] []- Netty started on port 8080 +09:28:53.351 [main] INFO c.a.n.client.naming - [addBeatInfo,81] []- [BEAT] adding beat: BeatInfo{port=8080, ip='172.26.32.1', weight=1.0, serviceName='DEFAULT_GROUP@@qiuguo-iot-box-websocket', cluster='DEFAULT', metadata={preserved.register.source=SPRING_CLOUD}, scheduled=false, period=5000, stopped=false} to beat map. +09:28:53.351 [main] INFO c.a.n.client.naming - [registerService,230] []- [REGISTER-SERVICE] public registering service DEFAULT_GROUP@@qiuguo-iot-box-websocket with instance: Instance{instanceId='null', ip='172.26.32.1', port=8080, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={preserved.register.source=SPRING_CLOUD}} +09:28:53.356 [main] INFO c.a.c.n.r.NacosServiceRegistry - [register,75] []- nacos registry, DEFAULT_GROUP qiuguo-iot-box-websocket 172.26.32.1:8080 register finished +09:28:53.886 [main] INFO c.q.i.b.w.a.IotBoxWebsocketApplication - [logStarted,61] []- Started IotBoxWebsocketApplication in 6.842 seconds (JVM running for 7.885) +09:28:53.890 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket.yml+DEFAULT_GROUP +09:28:53.891 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket.yml, group=DEFAULT_GROUP, cnt=1 +09:28:53.891 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket.yml, group=DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket-dev.yml+DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket-dev.yml, group=DEFAULT_GROUP, cnt=1 +09:28:53.892 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket-dev.yml, group=DEFAULT_GROUP +09:28:53.892 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,169] []- [fixed-192.168.8.146_32470] [subscribe] qiuguo-iot-box-websocket+DEFAULT_GROUP +09:28:53.893 [main] INFO c.a.n.c.c.i.CacheData - [addListener,92] []- [fixed-192.168.8.146_32470] [add-listener] ok, tenant=, dataId=qiuguo-iot-box-websocket, group=DEFAULT_GROUP, cnt=1 +09:28:53.893 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListenersForApplications,105] []- listening config: dataId=qiuguo-iot-box-websocket, group=DEFAULT_GROUP +09:29:03.703 [reactor-http-nio-2] INFO c.q.i.b.w.a.f.LogWebFilter - [filter,45] [80355f8f-1]- api start time:1695691743703 ip:192.168.8.246 method:GET url:/websocket/box param:{} headers:[Sec-WebSocket-Version:"13", Sec-WebSocket-Key:"mbf26R14IwJiOjpdcVjmAw==", Connection:"Upgrade", Upgrade:"websocket", firmwareVersion:"1.0.0", deviceType:"0", osVersion:"15", os:"android", sn:"QGBOX230919163545yS9", time:"1695106305000", signature:"11AEB264FB10CAA3E6A729B4F172088E", token:"ba2ef9fd8a70a6ac72c38aa6a46be4f6", User-Agent:"Apifox/1.0.0 (https://apifox.com)", Sec-WebSocket-Extensions:"permessage-deflate; client_max_window_bits", Host:"192.168.8.175:8080"] +09:29:03.728 [reactor-http-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [handle,83] []- 登录成功SN:QGBOX230919163545yS9 +09:29:03.737 [reactor-http-nio-2] INFO c.q.i.b.w.a.f.LogWebFilter - [lambda$filter$1,69] [80355f8f-1]- api end time:1695691743737, total time:34 +09:29:03.774 [lettuce-nioEventLoop-5-1] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [bindBox,171] []- 开始绑定设备userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = ? and device_user_bind.`user_id` = ? and device_user_bind.`device_id` = ? limit ?,? +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 0(Integer),6025(Long),3(Long),0(Integer),1(Integer) +09:29:03.794 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = 0 and device_user_bind.`user_id` = 6025 and device_user_bind.`device_id` = 3 limit 0,1 +09:29:03.799 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,232] []- new ips(1) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:29:03.800 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(3) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +09:30:16.622 [reactor-http-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$handle$4,124] []- 设备断开连接SN:QGBOX230919163545yS9 +09:30:19.457 [reactor-http-nio-3] INFO c.q.i.b.w.a.f.LogWebFilter - [filter,45] [7dccd47d-2]- api start time:1695691819457 ip:192.168.8.246 method:GET url:/websocket/box param:{} headers:[Sec-WebSocket-Version:"13", Sec-WebSocket-Key:"QnF+q2dxLwB3y4p7RXJy8g==", Connection:"Upgrade", Upgrade:"websocket", firmwareVersion:"1.0.0", deviceType:"0", osVersion:"15", os:"android", sn:"QGBOX230919163545yS9", time:"1695106305000", signature:"11AEB264FB10CAA3E6A729B4F172088E", token:"ba2ef9fd8a70a6ac72c38aa6a46be4f6", User-Agent:"Apifox/1.0.0 (https://apifox.com)", Sec-WebSocket-Extensions:"permessage-deflate; client_max_window_bits", Host:"192.168.8.175:8080"] +09:30:19.459 [reactor-http-nio-3] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [handle,83] []- 登录成功SN:QGBOX230919163545yS9 +09:30:19.460 [reactor-http-nio-3] INFO c.q.i.b.w.a.f.LogWebFilter - [lambda$filter$1,69] [7dccd47d-2]- api end time:1695691819460, total time:3 +09:30:19.465 [lettuce-nioEventLoop-5-1] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [bindBox,171] []- 开始绑定设备userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) +09:30:19.473 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = ? and device_user_bind.`user_id` = ? and device_user_bind.`device_id` = ? limit ?,? +09:30:19.474 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 0(Integer),6025(Long),3(Long),0(Integer),1(Integer) +09:30:19.474 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: select device_user_bind.`id` as `id` , device_user_bind.`is_delete` as `isDelete` , device_user_bind.`create_time` as `createTime` , device_user_bind.`modify_time` as `modifyTime` , device_user_bind.`user_id` as `userId` , device_user_bind.`device_id` as `deviceId` , device_user_bind.`other_device_id` as `otherDeviceId` , device_user_bind.`space_id` as `spaceId` , device_user_bind.`device_type` as `deviceType` , device_user_bind.`is_main` as `isMain` , device_user_bind.`bind_name` as `bindName` , device_user_bind.`country` as `country` , device_user_bind.`province` as `province` , device_user_bind.`city` as `city` , device_user_bind.`county` as `county` , device_user_bind.`village` as `village` , device_user_bind.`address` as `address` from qiuguo_iot.device_user_bind device_user_bind where device_user_bind.`is_delete` = 0 and device_user_bind.`user_id` = 6025 and device_user_bind.`device_id` = 3 limit 0,1 +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,39] []- ==> Preparing: insert into qiuguo_iot.device_user_bind ( `user_id` , `device_id` ) values ( ? , ? ) +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,41] []- ==> Parameters: 6025(Long),3(Long) +09:30:19.541 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [printSql,43] []- ==> Native: insert into qiuguo_iot.device_user_bind ( `user_id` , `device_id` ) values ( 6025 , 3 ) +09:30:19.545 [reactor-tcp-nio-2] DEBUG c.q.i.d.e.d.DeviceUserBindEntity - [lambda$null$9,146] []- ==> Updated: 1 +09:30:19.557 [reactor-tcp-nio-2] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$null$8,185] []- 绑定成功userToken:ba2ef9fd8a70a6ac72c38aa6a46be4f6, SN:DeviceInfoEntity(id=3, isDelete=0, createTime=Tue Sep 19 16:35:46 CST 2023, modifyTime=Tue Sep 19 16:43:09 CST 2023, batchId=1, name=果box, sn=QGBOX230919163545yS9, key=SFmkcz4oAi, status=null, btMac=f2:36:e3:e5:27:48, wifiMac=02:00:00:00:00:00, firmwareVersion=null, deviceType=0, onLine=null, lastOnLineTime=null, protocolType=0, operatingModeId=0, otaType=0, otaStartTime=null, otaEndTime=null, factoryTime=Tue Sep 19 16:35:46 CST 2023, saleTime=null) userId:6025 +10:30:10.237 [Thread-38] WARN c.a.n.c.n.NotifyCenter - [shutdown,145] []- [NotifyCenter] Start destroying Publisher +10:30:10.238 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,108] []- [HttpClientBeanHolder] Start destroying common HttpClient +10:30:10.239 [Thread-38] WARN c.a.n.c.n.NotifyCenter - [shutdown,162] []- [NotifyCenter] Destruction of the end +10:30:10.240 [Thread-3] WARN c.a.n.c.h.HttpClientBeanHolder - [shutdown,114] []- [HttpClientBeanHolder] Destruction of the end +10:30:13.261 [reactor-http-nio-3] INFO c.q.i.b.w.a.h.BoxWebSocketHandler - [lambda$handle$4,124] []- 设备断开连接SN:QGBOX230919163545yS9 +10:30:13.264 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,94] []- De-registering from Nacos Server now... +10:30:13.265 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [removeBeatInfo,101] []- [BEAT] removing beat: DEFAULT_GROUP@@qiuguo-iot-box-websocket:172.26.32.1:8080 from beat map. +10:30:13.265 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [deregisterService,260] []- [DEREGISTER-SERVICE] public deregistering service DEFAULT_GROUP@@qiuguo-iot-box-websocket with instance: Instance{instanceId='null', ip='172.26.32.1', port=8080, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={}} +10:30:13.269 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,114] []- De-registration finished. +10:30:13.270 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,147] []- com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown begin +10:30:16.272 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,149] []- com.alibaba.nacos.client.naming.beat.BeatReactor do shutdown stop +10:30:16.273 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,413] []- com.alibaba.nacos.client.naming.core.HostReactor do shutdown begin +10:30:16.741 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,238] []- removed ips(1) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.26.32.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.26.32.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +10:30:16.744 [com.alibaba.nacos.client.naming.updater] INFO c.a.n.client.naming - [processServiceJson,271] []- current ips:(2) service: DEFAULT_GROUP@@qiuguo-iot-box-websocket@@DEFAULT -> [{"instanceId":"172.31.133.185#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"172.31.133.185","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000},{"instanceId":"127.0.0.1#8080#DEFAULT#DEFAULT_GROUP@@qiuguo-iot-box-websocket","ip":"127.0.0.1","port":8080,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@qiuguo-iot-box-websocket","metadata":{"preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}] +10:30:16.745 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,132] []- com.alibaba.nacos.client.naming.core.PushReceiver do shutdown begin +10:30:19.747 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,136] []- com.alibaba.nacos.client.naming.core.PushReceiver do shutdown stop +10:30:19.747 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,132] []- com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,134] []- com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,418] []- com.alibaba.nacos.client.naming.core.HostReactor do shutdown stop +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,719] []- com.alibaba.nacos.client.naming.net.NamingProxy do shutdown begin +10:30:19.748 [SpringApplicationShutdownHook] WARN c.a.n.client.naming - [shutdown,72] []- [NamingHttpClientManager] Start destroying NacosRestTemplate +10:30:19.748 [SpringApplicationShutdownHook] WARN c.a.n.client.naming - [shutdown,79] []- [NamingHttpClientManager] Destruction of the end +10:30:19.748 [SpringApplicationShutdownHook] INFO c.a.n.c.i.CredentialWatcher - [stop,105] []- [null] CredentialWatcher is stopped +10:30:19.749 [SpringApplicationShutdownHook] INFO c.a.n.c.i.CredentialService - [free,98] []- [null] CredentialService is freed +10:30:19.749 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,723] []- com.alibaba.nacos.client.naming.net.NamingProxy do shutdown stop +10:30:32.867 [background-preinit] INFO o.h.v.i.util.Version - [,21] - HV000001: Hibernate Validator 6.2.5.Final +10:30:33.626 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket] & group[DEFAULT_GROUP] +10:30:33.633 [main] WARN c.a.c.n.c.NacosPropertySourceBuilder - [loadNacosData,87] - Ignore the empty nacos configuration and get it based on dataId[qiuguo-iot-box-websocket-dev.yml] & group[DEFAULT_GROUP] +10:30:33.634 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration - [doInitialize,134] - Located property source: [BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-qiuguo-iot-box-websocket,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-application-dev.yml,DEFAULT_GROUP'}]