.
├── LICENSE
├── README.md
├── license-header-template.txt
├── pom.xml
├── img --仅一张readme的logo图片
├── application --主程序,JAVA, Spring, Spring Boot
└── target --编译最终结果目录,包含jar包与deb包
├── common --通用的JAVA代码, 包括数据信息结构,消息队列处理等等
├── dao --JAVA 数据库操作相关
├── docker --docker 脚本
├── k8s --Kubernetes 配置脚本相关
├── msa --微服务相关,整合启动各种服务
├── netty-mqtt --JAVA mqtt 实现
├── packaging --打deb包相关
├── rest-client --使用rest api 的JAVA客户端,供JAVA开发使用
├── rule-engine --规则引擎, JAVA
├── tools
├── transport
└── ui-ngx --web前端代码, angular架构
ui-ngx\src\app\app.component.ts, 查看setupAuth代码ui-ngx\src\app\modules\login\pages\login\login.component.tsAuthService 调用 /api/auth/login 接口@auth0/angular-jwtlogin/resetExpiredPassword/api/auth/login实现: application\src\main\java\org\thingsboard\server\config\ThingsboardSecurityConfiguration.javaorg.springframework.security.web.authenticationuserId 来获取用户信息 userService(位于ui-ngx\src\app\core\http\user.service.ts) /api/user/{userId}authority 来决定用户类型ui-ngx\src\app\shared\models\authority.enum.ts;common\data\src\main\java\org\thingsboard\server\common\data\security\Authority.javaAuthService.defaultUrl里处理决定http://YOUR_HOST:PORT/swagger-ui.htmlmvn clean install -DskipTestsDefaultSystemDataLoaderService.loadDemoData 来进行站点初始化spring-boot-starter-web 包含 spring-boot-starter-tomcat, tomcat 是个web代理服务spring-boot-starter-tomcat 默认映射的静态资源目录为 /static, /public, /resources, /META-INF/resourcesui-ngx/target/generated-resources/public, 然后打包成 jar 包, 用 jar xvf ui-ngx-3.2.0.jar 可以看到 jar 包里为 public 目录资源。application/target/thingsboard-3.2.x-boot.jar 替换目标服务器上的 /usr/share/thingsboard/bin/thingsboard.jarthingsboard.jar 有可执行权限sudo service thingsboard stop , sudo service thingsboard start.Post Telemetry 类型消息的两个中间处理节点都会间歇性超过最大 CPU 执行时间 (LOCAL_JS_SANDBOX_MAX_CPU_TIME 默认是 8000 ms), 按官方文档,加上了规则引擎执行时间的日志记录,会发现日志里间歇出现 8000ms 或 7999 ms 的执行时间阻塞了整个规则引擎。有可能原因是这个:RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT or RETRY_FAILED_AND_TIMED_OUT strategy for some rule-engine queue, it is possible that some failed node could block the whole processing of the messages in this queue.