. ├── 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.ts
AuthService
调用 /api/auth/login
接口@auth0/angular-jwt
login/resetExpiredPassword
/api/auth/login
实现: application\src\main\java\org\thingsboard\server\config\ThingsboardSecurityConfiguration.java
org.springframework.security.web.authentication
userId
来获取用户信息 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.java
AuthService.defaultUrl
里处理决定http://YOUR_HOST:PORT/swagger-ui.html
mvn clean install -DskipTests
DefaultSystemDataLoaderService.loadDemoData
来进行站点初始化spring-boot-starter-web
包含 spring-boot-starter-tomcat
, tomcat
是个web代理服务spring-boot-starter-tomcat
默认映射的静态资源目录为 /static
, /public
, /resources
, /META-INF/resources
ui-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.jar
thingsboard.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.