Browse Source

Fixed Conditional annotations

pull/2560/head
Andrii Shvaika 6 years ago
parent
commit
c4269023dd
  1. 1
      application/src/main/java/org/thingsboard/server/config/ThingsboardSecurityConfiguration.java
  2. 4
      application/src/main/java/org/thingsboard/server/config/WebSocketConfiguration.java
  3. 4
      application/src/main/java/org/thingsboard/server/controller/AdminController.java
  4. 4
      application/src/main/java/org/thingsboard/server/controller/AlarmController.java
  5. 6
      application/src/main/java/org/thingsboard/server/controller/AssetController.java
  6. 4
      application/src/main/java/org/thingsboard/server/controller/AuditLogController.java
  7. 4
      application/src/main/java/org/thingsboard/server/controller/AuthController.java
  8. 5
      application/src/main/java/org/thingsboard/server/controller/BaseController.java
  9. 4
      application/src/main/java/org/thingsboard/server/controller/ComponentDescriptorController.java
  10. 4
      application/src/main/java/org/thingsboard/server/controller/CustomerController.java
  11. 4
      application/src/main/java/org/thingsboard/server/controller/DashboardController.java
  12. 4
      application/src/main/java/org/thingsboard/server/controller/DeviceController.java
  13. 4
      application/src/main/java/org/thingsboard/server/controller/EntityRelationController.java
  14. 4
      application/src/main/java/org/thingsboard/server/controller/EntityViewController.java
  15. 4
      application/src/main/java/org/thingsboard/server/controller/EventController.java
  16. 4
      application/src/main/java/org/thingsboard/server/controller/RpcController.java
  17. 4
      application/src/main/java/org/thingsboard/server/controller/RuleChainController.java
  18. 4
      application/src/main/java/org/thingsboard/server/controller/TelemetryController.java
  19. 4
      application/src/main/java/org/thingsboard/server/controller/TenantController.java
  20. 4
      application/src/main/java/org/thingsboard/server/controller/UserController.java
  21. 4
      application/src/main/java/org/thingsboard/server/controller/WidgetTypeController.java
  22. 5
      application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java
  23. 4
      application/src/main/java/org/thingsboard/server/controller/plugin/TbWebSocketHandler.java
  24. 21
      application/src/main/java/org/thingsboard/server/service/queue/DefaultTbCoreConsumerService.java
  25. 17
      application/src/main/java/org/thingsboard/server/service/queue/DefaultTbRuleEngineConsumerService.java
  26. 20
      application/src/main/java/org/thingsboard/server/service/queue/processing/AbstractConsumerService.java
  27. 6
      application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java
  28. 4
      application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbRuleEngineRpcService.java
  29. 1
      application/src/main/java/org/thingsboard/server/service/security/auth/rest/RestAuthenticationProvider.java
  30. 1
      application/src/main/java/org/thingsboard/server/service/security/auth/rest/RestAwareAuthenticationFailureHandler.java
  31. 1
      application/src/main/java/org/thingsboard/server/service/security/auth/rest/RestAwareAuthenticationSuccessHandler.java
  32. 5
      application/src/main/java/org/thingsboard/server/service/security/device/DefaultDeviceAuthService.java
  33. 1
      application/src/main/java/org/thingsboard/server/service/security/model/token/JwtTokenFactory.java
  34. 8
      application/src/main/java/org/thingsboard/server/service/security/permission/DefaultAccessControlService.java
  35. 1
      application/src/main/java/org/thingsboard/server/service/security/system/DefaultSystemSecurityService.java
  36. 5
      application/src/main/java/org/thingsboard/server/service/session/DefaultDeviceSessionCacheService.java
  37. 6
      application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java
  38. 4
      application/src/main/java/org/thingsboard/server/service/subscription/DefaultSubscriptionManagerService.java
  39. 4
      application/src/main/java/org/thingsboard/server/service/subscription/DefaultTbLocalSubscriptionService.java
  40. 4
      application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java
  41. 7
      application/src/main/java/org/thingsboard/server/service/transaction/BaseRuleChainTransactionService.java
  42. 5
      application/src/main/java/org/thingsboard/server/service/transport/DefaultTbCoreToTransportService.java
  43. 4
      application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java
  44. 3
      application/src/main/java/org/thingsboard/server/service/transport/TbCoreTransportApiService.java
  45. 4
      application/src/main/java/org/thingsboard/server/service/update/DefaultUpdateService.java
  46. 1
      application/src/main/resources/logback.xml
  47. 6
      common/queue/src/main/java/org/thingsboard/server/queue/provider/KafkaMonolithQueueProvider.java
  48. 6
      common/queue/src/main/java/org/thingsboard/server/queue/provider/KafkaTbCoreQueueProvider.java
  49. 6
      common/queue/src/main/java/org/thingsboard/server/queue/provider/KafkaTbRuleEngineQueueProvider.java
  50. 2
      common/queue/src/main/java/org/thingsboard/server/queue/util/TbCoreComponent.java
  51. 22
      common/queue/src/main/java/org/thingsboard/server/queue/util/TbKafkaQueue.java
  52. 22
      common/queue/src/main/java/org/thingsboard/server/queue/util/TbMonolithComponent.java
  53. 22
      common/queue/src/main/java/org/thingsboard/server/queue/util/TbMonolithOrCoreComponent.java
  54. 22
      common/queue/src/main/java/org/thingsboard/server/queue/util/TbMonolithOrRuleEngineComponent.java
  55. 2
      common/queue/src/main/java/org/thingsboard/server/queue/util/TbRuleEngineComponent.java
  56. 12
      common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java

1
application/src/main/java/org/thingsboard/server/config/ThingsboardSecurityConfiguration.java

@ -40,7 +40,6 @@ import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.thingsboard.server.dao.audit.AuditLogLevelFilter;
import org.thingsboard.server.exception.ThingsboardErrorResponseHandler;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.service.security.auth.jwt.JwtAuthenticationProvider;
import org.thingsboard.server.service.security.auth.jwt.JwtTokenAuthenticationProcessingFilter;
import org.thingsboard.server.service.security.auth.jwt.RefreshTokenAuthenticationProvider;

4
application/src/main/java/org/thingsboard/server/config/WebSocketConfiguration.java

@ -32,13 +32,13 @@ import org.springframework.web.socket.server.support.HttpSessionHandshakeInterce
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode;
import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.controller.plugin.TbWebSocketHandler;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import java.util.Map;
@Configuration
@TbMonolithOrCoreComponent
@TbCoreComponent
@EnableWebSocket
public class WebSocketConfiguration implements WebSocketConfigurer {

4
application/src/main/java/org/thingsboard/server/controller/AdminController.java

@ -30,14 +30,14 @@ import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.security.model.SecuritySettings;
import org.thingsboard.server.dao.settings.AdminSettingsService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
import org.thingsboard.server.service.security.system.SystemSecurityService;
import org.thingsboard.server.service.update.UpdateService;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api/admin")
public class AdminController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/AlarmController.java

@ -41,12 +41,12 @@ import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.id.EntityIdFactory;
import org.thingsboard.server.common.data.page.TimePageData;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class AlarmController extends BaseController {

6
application/src/main/java/org/thingsboard/server/controller/AssetController.java

@ -32,17 +32,15 @@ import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.asset.Asset;
import org.thingsboard.server.common.data.asset.AssetSearchQuery;
import org.thingsboard.server.common.data.audit.ActionType;
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode;
import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.common.data.id.AssetId;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@ -52,7 +50,7 @@ import java.util.List;
import java.util.stream.Collectors;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class AssetController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/AuditLogController.java

@ -32,7 +32,7 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.page.TimePageData;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import java.util.Arrays;
import java.util.List;
@ -40,7 +40,7 @@ import java.util.UUID;
import java.util.stream.Collectors;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class AuditLogController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/AuthController.java

@ -40,7 +40,7 @@ import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.security.UserCredentials;
import org.thingsboard.server.dao.audit.AuditLogService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.auth.jwt.RefreshTokenRepository;
import org.thingsboard.server.service.security.auth.rest.RestAuthenticationDetails;
import org.thingsboard.server.common.data.security.model.SecuritySettings;
@ -57,7 +57,7 @@ import java.net.URI;
import java.net.URISyntaxException;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
@Slf4j
public class AuthController extends BaseController {

5
application/src/main/java/org/thingsboard/server/controller/BaseController.java

@ -92,8 +92,7 @@ import org.thingsboard.server.dao.widget.WidgetsBundleService;
import org.thingsboard.server.exception.ThingsboardErrorResponseHandler;
import org.thingsboard.server.queue.discovery.PartitionService;
import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbMonolithOrRuleEngineComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.component.ComponentDiscoveryService;
import org.thingsboard.server.service.queue.TbClusterService;
import org.thingsboard.server.service.security.model.SecurityUser;
@ -114,7 +113,7 @@ import java.util.UUID;
import static org.thingsboard.server.dao.service.Validator.validateId;
@Slf4j
@TbMonolithOrCoreComponent
@TbCoreComponent
public abstract class BaseController {
public static final String INCORRECT_TENANT_ID = "Incorrect tenantId ";

4
application/src/main/java/org/thingsboard/server/controller/ComponentDescriptorController.java

@ -25,14 +25,14 @@ import org.springframework.web.bind.annotation.RestController;
import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.common.data.plugin.ComponentDescriptor;
import org.thingsboard.server.common.data.plugin.ComponentType;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class ComponentDescriptorController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/CustomerController.java

@ -36,12 +36,12 @@ import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class CustomerController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/DashboardController.java

@ -40,7 +40,7 @@ import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.page.TimePageData;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@ -48,7 +48,7 @@ import java.util.HashSet;
import java.util.Set;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class DashboardController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/DeviceController.java

@ -51,7 +51,7 @@ import org.thingsboard.server.dao.device.claim.ClaimResponse;
import org.thingsboard.server.dao.device.claim.ClaimResult;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@ -63,7 +63,7 @@ import java.util.List;
import java.util.stream.Collectors;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class DeviceController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/EntityRelationController.java

@ -33,14 +33,14 @@ import org.thingsboard.server.common.data.relation.EntityRelation;
import org.thingsboard.server.common.data.relation.EntityRelationInfo;
import org.thingsboard.server.common.data.relation.EntityRelationsQuery;
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import java.util.List;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class EntityRelationController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/EntityViewController.java

@ -47,7 +47,7 @@ import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@ -65,7 +65,7 @@ import static org.thingsboard.server.controller.CustomerController.CUSTOMER_ID;
* Created by Victor Basanets on 8/28/2017.
*/
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
@Slf4j
public class EntityViewController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/EventController.java

@ -31,11 +31,11 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TimePageData;
import org.thingsboard.server.common.data.page.TimePageLink;
import org.thingsboard.server.dao.event.EventService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class EventController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/RpcController.java

@ -42,7 +42,7 @@ import org.thingsboard.server.common.data.id.UUIDBased;
import org.thingsboard.server.common.data.rpc.RpcRequest;
import org.thingsboard.server.common.data.rpc.ToDeviceRpcRequestBody;
import org.thingsboard.server.common.msg.rpc.ToDeviceRpcRequest;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.rpc.FromDeviceRpcResponse;
import org.thingsboard.server.service.rpc.LocalRequestMetaData;
import org.thingsboard.server.service.rpc.TbCoreDeviceRpcService;
@ -60,7 +60,7 @@ import java.util.UUID;
* Created by ashvayka on 22.03.18.
*/
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping(TbUrlConstants.RPC_URL_PREFIX)
@Slf4j
public class RpcController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/RuleChainController.java

@ -55,7 +55,7 @@ import org.thingsboard.server.common.msg.TbMsg;
import org.thingsboard.server.common.msg.TbMsgDataType;
import org.thingsboard.server.common.msg.TbMsgMetaData;
import org.thingsboard.server.dao.event.EventService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.script.JsInvokeService;
import org.thingsboard.server.service.script.RuleNodeJsScriptEngine;
import org.thingsboard.server.service.security.permission.Operation;
@ -69,7 +69,7 @@ import java.util.stream.Collectors;
@Slf4j
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class RuleChainController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/TelemetryController.java

@ -70,7 +70,7 @@ import org.thingsboard.server.common.data.kv.StringDataEntry;
import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.transport.adaptor.JsonConverter;
import org.thingsboard.server.dao.timeseries.TimeseriesService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.AccessValidator;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.permission.Operation;
@ -98,7 +98,7 @@ import java.util.stream.Collectors;
* Created by ashvayka on 22.03.18.
*/
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping(TbUrlConstants.TELEMETRY_URL_PREFIX)
@Slf4j
public class TelemetryController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/TenantController.java

@ -34,13 +34,13 @@ import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent;
import org.thingsboard.server.dao.tenant.TenantService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.install.InstallScripts;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
@Slf4j
public class TenantController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/UserController.java

@ -44,7 +44,7 @@ import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.common.data.security.UserCredentials;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.auth.jwt.RefreshTokenRepository;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.model.UserPrincipal;
@ -56,7 +56,7 @@ import org.thingsboard.server.service.security.permission.Resource;
import javax.servlet.http.HttpServletRequest;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class UserController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/WidgetTypeController.java

@ -31,14 +31,14 @@ import org.thingsboard.server.common.data.id.WidgetTypeId;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.common.data.widget.WidgetType;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
import java.util.List;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class WidgetTypeController extends BaseController {

5
application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java

@ -32,15 +32,14 @@ import org.thingsboard.server.common.data.page.TextPageData;
import org.thingsboard.server.common.data.page.TextPageLink;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.common.data.widget.WidgetsBundle;
import org.thingsboard.server.dao.model.ModelConstants;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.permission.Operation;
import org.thingsboard.server.service.security.permission.Resource;
import java.util.List;
@RestController
@TbMonolithOrCoreComponent
@TbCoreComponent
@RequestMapping("/api")
public class WidgetsBundleController extends BaseController {

4
application/src/main/java/org/thingsboard/server/controller/plugin/TbWebSocketHandler.java

@ -33,7 +33,7 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.msg.tools.TbRateLimits;
import org.thingsboard.server.config.WebSocketConfiguration;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.model.UserPrincipal;
import org.thingsboard.server.service.telemetry.SessionEvent;
@ -53,7 +53,7 @@ import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.LinkedBlockingQueue;
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class TbWebSocketHandler extends TextWebSocketHandler implements TelemetryWebSocketMsgEndpoint {

21
application/src/main/java/org/thingsboard/server/service/queue/DefaultTbCoreConsumerService.java

@ -38,7 +38,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.ToCoreNotificationMs
import org.thingsboard.server.gen.transport.TransportProtos.TransportToDeviceActorMsg;
import org.thingsboard.server.queue.common.TbProtoQueueMsg;
import org.thingsboard.server.queue.provider.TbCoreQueueProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.encoding.DataDecodingEncodingService;
import org.thingsboard.server.service.queue.processing.AbstractConsumerService;
import org.thingsboard.server.service.rpc.FromDeviceRpcResponse;
@ -56,13 +56,12 @@ import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCoreMsg, ToCoreNotificationMsg> implements TbCoreConsumerService {
@ -78,7 +77,6 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
private final SubscriptionManagerService subscriptionManagerService;
private final TbCoreDeviceRpcService tbCoreDeviceRpcService;
private final TbCoreConsumerStats stats = new TbCoreConsumerStats();
private volatile boolean stopped = false;
public DefaultTbCoreConsumerService(TbCoreQueueProvider tbCoreQueueProvider, ActorSystemContext actorContext,
DeviceStateService stateService, TbLocalSubscriptionService localSubscriptionService,
@ -99,7 +97,6 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
@Override
protected void launchMainConsumer() {
log.info("Launching main consumer");
mainConsumerExecutor.execute(() -> {
while (!stopped) {
try {
@ -144,15 +141,17 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
}
mainConsumer.commit();
} catch (Exception e) {
log.warn("Failed to obtain messages from queue.", e);
try {
Thread.sleep(pollDuration);
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new requests", e2);
if (!stopped) {
log.warn("Failed to obtain messages from queue.", e);
try {
Thread.sleep(pollDuration);
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new requests", e2);
}
}
}
}
log.info("Tb Core Consumer stopped.");
log.info("TB Core Consumer stopped.");
});
}

17
application/src/main/java/org/thingsboard/server/service/queue/DefaultTbRuleEngineConsumerService.java

@ -32,7 +32,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.ToRuleEngineMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ToRuleEngineNotificationMsg;
import org.thingsboard.server.queue.common.TbProtoQueueMsg;
import org.thingsboard.server.queue.provider.TbRuleEngineQueueProvider;
import org.thingsboard.server.queue.util.TbMonolithOrRuleEngineComponent;
import org.thingsboard.server.queue.util.TbRuleEngineComponent;
import org.thingsboard.server.service.encoding.DataDecodingEncodingService;
import org.thingsboard.server.service.queue.processing.AbstractConsumerService;
import org.thingsboard.server.service.queue.processing.TbRuleEngineProcessingDecision;
@ -52,7 +52,7 @@ import java.util.function.Function;
import java.util.stream.Collectors;
@Service
@TbMonolithOrRuleEngineComponent
@TbRuleEngineComponent
@Slf4j
public class DefaultTbRuleEngineConsumerService extends AbstractConsumerService<ToRuleEngineMsg, ToRuleEngineNotificationMsg> implements TbRuleEngineConsumerService {
@ -128,14 +128,17 @@ public class DefaultTbRuleEngineConsumerService extends AbstractConsumerService<
}
mainConsumer.commit();
} catch (Exception e) {
log.warn("Failed to process messages from queue.", e);
try {
Thread.sleep(pollDuration);
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new requests", e2);
if (!stopped) {
log.warn("Failed to process messages from queue.", e);
try {
Thread.sleep(pollDuration);
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new requests", e2);
}
}
}
}
log.info("TB Rule Engine Consumer stopped.");
});
}

20
application/src/main/java/org/thingsboard/server/service/queue/processing/AbstractConsumerService.java

@ -117,15 +117,17 @@ public abstract class AbstractConsumerService<T extends com.google.protobuf.Gene
}
nfConsumer.commit();
} catch (Exception e) {
log.warn("Failed to obtain notifications from queue.", e);
try {
Thread.sleep(getNotificationPollDuration());
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new notifications", e2);
if (!stopped) {
log.warn("Failed to obtain notifications from queue.", e);
try {
Thread.sleep(getNotificationPollDuration());
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new notifications", e2);
}
}
}
}
log.info("Tb Core Notifications Consumer stopped.");
log.info("TB Notifications Consumer stopped.");
});
}
@ -134,12 +136,6 @@ public abstract class AbstractConsumerService<T extends com.google.protobuf.Gene
@PreDestroy
public void destroy() {
stopped = true;
if (mainConsumer != null) {
mainConsumer.unsubscribe();
}
if (nfConsumer != null) {
nfConsumer.unsubscribe();
}
if (mainConsumerExecutor != null) {
mainConsumerExecutor.shutdownNow();
}

6
application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbCoreDeviceRpcService.java

@ -22,8 +22,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.thingsboard.common.util.ThingsBoardThreadFactory;
import org.thingsboard.rule.engine.api.RpcError;
@ -36,7 +34,7 @@ import org.thingsboard.server.common.msg.TbMsgMetaData;
import org.thingsboard.server.common.msg.rpc.ToDeviceRpcRequest;
import org.thingsboard.server.dao.device.DeviceService;
import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.queue.TbClusterService;
import javax.annotation.PostConstruct;
@ -55,7 +53,7 @@ import java.util.function.Consumer;
*/
@Service
@Slf4j
@TbMonolithOrCoreComponent
@TbCoreComponent
public class DefaultTbCoreDeviceRpcService implements TbCoreDeviceRpcService {
private static final ObjectMapper json = new ObjectMapper();

4
application/src/main/java/org/thingsboard/server/service/rpc/DefaultTbRuleEngineRpcService.java

@ -29,7 +29,7 @@ import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
import org.thingsboard.server.common.msg.rpc.ToDeviceRpcRequest;
import org.thingsboard.server.queue.discovery.PartitionService;
import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.util.TbMonolithOrRuleEngineComponent;
import org.thingsboard.server.queue.util.TbRuleEngineComponent;
import org.thingsboard.server.service.queue.TbClusterService;
import javax.annotation.PostConstruct;
@ -44,7 +44,7 @@ import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
@Service
@TbMonolithOrRuleEngineComponent
@TbRuleEngineComponent
@Slf4j
public class DefaultTbRuleEngineRpcService implements TbRuleEngineDeviceRpcService {

1
application/src/main/java/org/thingsboard/server/service/security/auth/rest/RestAuthenticationProvider.java

@ -39,7 +39,6 @@ import org.thingsboard.server.common.data.security.UserCredentials;
import org.thingsboard.server.dao.audit.AuditLogService;
import org.thingsboard.server.dao.customer.CustomerService;
import org.thingsboard.server.dao.user.UserService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.model.UserPrincipal;
import org.thingsboard.server.service.security.system.SystemSecurityService;

1
application/src/main/java/org/thingsboard/server/service/security/auth/rest/RestAwareAuthenticationFailureHandler.java

@ -20,7 +20,6 @@ import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.AuthenticationFailureHandler;
import org.springframework.stereotype.Component;
import org.thingsboard.server.exception.ThingsboardErrorResponseHandler;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

1
application/src/main/java/org/thingsboard/server/service/security/auth/rest/RestAwareAuthenticationSuccessHandler.java

@ -23,7 +23,6 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.web.WebAttributes;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import org.springframework.stereotype.Component;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.service.security.auth.jwt.RefreshTokenRepository;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.model.token.JwtToken;

5
application/src/main/java/org/thingsboard/server/service/security/device/DefaultDeviceAuthService.java

@ -16,7 +16,6 @@
package org.thingsboard.server.service.security.device;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.security.DeviceCredentials;
import org.thingsboard.server.common.data.security.DeviceCredentialsFilter;
@ -24,10 +23,10 @@ import org.thingsboard.server.common.transport.auth.DeviceAuthResult;
import org.thingsboard.server.common.transport.auth.DeviceAuthService;
import org.thingsboard.server.dao.device.DeviceCredentialsService;
import org.thingsboard.server.dao.device.DeviceService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class DefaultDeviceAuthService implements DeviceAuthService {

1
application/src/main/java/org/thingsboard/server/service/security/model/token/JwtTokenFactory.java

@ -28,7 +28,6 @@ import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.config.JwtSettings;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import org.thingsboard.server.service.security.model.UserPrincipal;

8
application/src/main/java/org/thingsboard/server/service/security/permission/DefaultAccessControlService.java

@ -16,21 +16,13 @@
package org.thingsboard.server.service.security.permission;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.HasCustomerId;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode;
import org.thingsboard.server.common.data.exception.ThingsboardException;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.dao.customer.CustomerService;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.service.security.model.SecurityUser;
import java.util.*;

1
application/src/main/java/org/thingsboard/server/service/security/system/DefaultSystemSecurityService.java

@ -46,7 +46,6 @@ import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.settings.AdminSettingsService;
import org.thingsboard.server.dao.user.UserService;
import org.thingsboard.server.dao.user.UserServiceImpl;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.service.security.exception.UserPasswordExpiredException;
import org.thingsboard.server.common.data.security.model.SecuritySettings;
import org.thingsboard.server.common.data.security.model.UserPasswordPolicy;

5
application/src/main/java/org/thingsboard/server/service/session/DefaultDeviceSessionCacheService.java

@ -21,10 +21,9 @@ import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.gen.transport.TransportProtos.DeviceSessionsCacheEntry;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import java.util.Collections;
import java.util.UUID;
import static org.thingsboard.server.common.data.CacheConstants.SESSIONS_CACHE;
@ -32,7 +31,7 @@ import static org.thingsboard.server.common.data.CacheConstants.SESSIONS_CACHE;
* Created by ashvayka on 29.10.18.
*/
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class DefaultDeviceSessionCacheService implements DeviceSessionCacheService {

6
application/src/main/java/org/thingsboard/server/service/state/DefaultDeviceStateService.java

@ -27,11 +27,9 @@ import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.thingsboard.common.util.ThingsBoardThreadFactory;
import org.thingsboard.server.actors.service.ActorService;
import org.thingsboard.server.queue.common.TbProtoQueueMsg;
import org.thingsboard.server.common.data.DataConstants;
import org.thingsboard.server.common.data.Device;
@ -60,7 +58,7 @@ import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
import org.thingsboard.server.gen.transport.TransportProtos;
import org.thingsboard.server.common.msg.queue.TbMsgCallback;
import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.telemetry.TelemetrySubscriptionService;
import javax.annotation.Nullable;
@ -90,7 +88,7 @@ import static org.thingsboard.server.common.data.DataConstants.SERVER_SCOPE;
* Created by ashvayka on 01.05.18.
*/
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class DefaultDeviceStateService implements DeviceStateService {

4
application/src/main/java/org/thingsboard/server/service/subscription/DefaultSubscriptionManagerService.java

@ -48,7 +48,7 @@ import org.thingsboard.server.queue.discovery.PartitionChangeEvent;
import org.thingsboard.server.queue.discovery.PartitionService;
import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.queue.TbClusterService;
import org.thingsboard.server.service.state.DefaultDeviceStateService;
import org.thingsboard.server.service.state.DeviceStateService;
@ -71,7 +71,7 @@ import java.util.function.Function;
import java.util.function.Predicate;
@Slf4j
@TbMonolithOrCoreComponent
@TbCoreComponent
@Service
public class DefaultSubscriptionManagerService implements SubscriptionManagerService {

4
application/src/main/java/org/thingsboard/server/service/subscription/DefaultTbLocalSubscriptionService.java

@ -37,7 +37,7 @@ import org.thingsboard.server.common.msg.queue.ServiceType;
import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
import org.thingsboard.server.common.msg.queue.TbMsgCallback;
import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.telemetry.TelemetryWebSocketService;
import org.thingsboard.server.service.telemetry.sub.SubscriptionUpdate;
@ -53,7 +53,7 @@ import java.util.concurrent.Executors;
import java.util.stream.Collectors;
@Slf4j
@TbMonolithOrCoreComponent
@TbCoreComponent
@Service
public class DefaultTbLocalSubscriptionService implements TbLocalSubscriptionService {

4
application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java

@ -43,7 +43,7 @@ import org.thingsboard.server.dao.attributes.AttributesService;
import org.thingsboard.server.dao.timeseries.TimeseriesService;
import org.thingsboard.server.dao.util.TenantRateLimitException;
import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.security.AccessValidator;
import org.thingsboard.server.service.security.ValidationCallback;
import org.thingsboard.server.service.security.ValidationResult;
@ -84,7 +84,7 @@ import java.util.stream.Collectors;
* Created by ashvayka on 27.03.18.
*/
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class DefaultTelemetryWebSocketService implements TelemetryWebSocketService {

7
application/src/main/java/org/thingsboard/server/service/transaction/BaseRuleChainTransactionService.java

@ -16,7 +16,6 @@
package org.thingsboard.server.service.transaction;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.thingsboard.common.util.ThingsBoardThreadFactory;
@ -24,13 +23,11 @@ import org.thingsboard.rule.engine.api.RuleChainTransactionService;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.msg.TbMsg;
import org.thingsboard.server.common.msg.cluster.ServerAddress;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbMonolithOrRuleEngineComponent;
import org.thingsboard.server.queue.util.TbRuleEngineComponent;
import org.thingsboard.server.service.executors.DbCallbackExecutorService;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.Optional;
import java.util.Queue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
@ -46,7 +43,7 @@ import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Consumer;
@Service
@TbMonolithOrRuleEngineComponent
@TbRuleEngineComponent
@Slf4j
public class BaseRuleChainTransactionService implements RuleChainTransactionService {

5
application/src/main/java/org/thingsboard/server/service/transport/DefaultTbCoreToTransportService.java

@ -17,7 +17,6 @@ package org.thingsboard.server.service.transport;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Service;
import org.thingsboard.server.queue.TbQueueCallback;
import org.thingsboard.server.queue.TbQueueMsgMetadata;
@ -27,7 +26,7 @@ import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
import org.thingsboard.server.gen.transport.TransportProtos.DeviceActorToTransportMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ToTransportMsg;
import org.thingsboard.server.queue.provider.TbQueueProducerProvider;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import java.util.UUID;
import java.util.function.Consumer;
@ -36,7 +35,7 @@ import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
@Slf4j
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
public class DefaultTbCoreToTransportService implements TbCoreToTransportService {
private final TbQueueProducer<TbProtoQueueMsg<ToTransportMsg>> tbTransportProducer;

4
application/src/main/java/org/thingsboard/server/service/transport/DefaultTransportApiService.java

@ -41,7 +41,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.TransportApiResponse
import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceCredentialsResponseMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceTokenRequestMsg;
import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceX509CertRequestMsg;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.executors.DbCallbackExecutorService;
import org.thingsboard.server.service.state.DeviceStateService;
@ -53,7 +53,7 @@ import java.util.concurrent.locks.ReentrantLock;
*/
@Slf4j
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
public class DefaultTransportApiService implements TransportApiService {
private static final ObjectMapper mapper = new ObjectMapper();

3
application/src/main/java/org/thingsboard/server/service/transport/TbCoreTransportApiService.java

@ -29,7 +29,6 @@ import org.thingsboard.server.gen.transport.TransportProtos.TransportApiRequestM
import org.thingsboard.server.gen.transport.TransportProtos.TransportApiResponseMsg;
import org.thingsboard.server.queue.provider.TbCoreQueueProvider;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@ -40,7 +39,7 @@ import java.util.concurrent.*;
*/
@Slf4j
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
public class TbCoreTransportApiService {
private final TbCoreQueueProvider tbCoreQueueProvider;

4
application/src/main/java/org/thingsboard/server/service/update/DefaultUpdateService.java

@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.thingsboard.common.util.ThingsBoardThreadFactory;
import org.thingsboard.server.common.data.UpdateMessage;
import org.thingsboard.server.queue.util.TbMonolithOrCoreComponent;
import org.thingsboard.server.queue.util.TbCoreComponent;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@ -39,7 +39,7 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
@Service
@TbMonolithOrCoreComponent
@TbCoreComponent
@Slf4j
public class DefaultUpdateService implements UpdateService {

1
application/src/main/resources/logback.xml

@ -25,6 +25,7 @@
</encoder>
</appender>
<logger name="org.springframework.boot.autoconfigure.logging" level="DEBUG" />
<logger name="org.thingsboard.server" level="INFO" />
<logger name="akka" level="INFO" />
<logger name="org.thingsboard.server.service.queue" level="TRACE" />

6
common/queue/src/main/java/org/thingsboard/server/queue/provider/KafkaMonolithQueueProvider.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.queue.provider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.msg.queue.ServiceType;
import org.thingsboard.server.gen.transport.TransportProtos.ToCoreMsg;
@ -36,12 +37,9 @@ import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.kafka.TBKafkaConsumerTemplate;
import org.thingsboard.server.queue.kafka.TBKafkaProducerTemplate;
import org.thingsboard.server.queue.kafka.TbKafkaSettings;
import org.thingsboard.server.queue.util.TbKafkaQueue;
import org.thingsboard.server.queue.util.TbMonolithComponent;
@Component
@TbMonolithComponent
@TbKafkaQueue
@ConditionalOnExpression("'${queue.type:null}'=='kafka' && '${service.type:null}'=='monolith'")
public class KafkaMonolithQueueProvider implements TbCoreQueueProvider, TbRuleEngineQueueProvider {
private final PartitionService partitionService;

6
common/queue/src/main/java/org/thingsboard/server/queue/provider/KafkaTbCoreQueueProvider.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.queue.provider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.msg.queue.ServiceType;
import org.thingsboard.server.gen.transport.TransportProtos.ToCoreMsg;
@ -36,12 +37,9 @@ import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.kafka.TBKafkaConsumerTemplate;
import org.thingsboard.server.queue.kafka.TBKafkaProducerTemplate;
import org.thingsboard.server.queue.kafka.TbKafkaSettings;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.queue.util.TbKafkaQueue;
@Component
@TbCoreComponent
@TbKafkaQueue
@ConditionalOnExpression("'${queue.type:null}'=='kafka' && '${service.type:null}'=='tb-core'")
public class KafkaTbCoreQueueProvider implements TbCoreQueueProvider {
private final PartitionService partitionService;

6
common/queue/src/main/java/org/thingsboard/server/queue/provider/KafkaTbRuleEngineQueueProvider.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.queue.provider;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.msg.queue.ServiceType;
import org.thingsboard.server.gen.transport.TransportProtos.ToCoreMsg;
@ -34,12 +35,9 @@ import org.thingsboard.server.queue.discovery.TbServiceInfoProvider;
import org.thingsboard.server.queue.kafka.TBKafkaConsumerTemplate;
import org.thingsboard.server.queue.kafka.TBKafkaProducerTemplate;
import org.thingsboard.server.queue.kafka.TbKafkaSettings;
import org.thingsboard.server.queue.util.TbKafkaQueue;
import org.thingsboard.server.queue.util.TbRuleEngineComponent;
@Component
@TbKafkaQueue
@TbRuleEngineComponent
@ConditionalOnExpression("'${queue.type:null}'=='kafka' && '${service.type:null}'=='tb-rule-engine'")
public class KafkaTbRuleEngineQueueProvider implements TbRuleEngineQueueProvider {
private final PartitionService partitionService;

2
common/queue/src/main/java/org/thingsboard/server/queue/util/TbCoreComponent.java

@ -17,6 +17,6 @@ package org.thingsboard.server.queue.util;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@ConditionalOnExpression("'${service.type:null}'=='tb-core'")
@ConditionalOnExpression("'${service.type:null}'=='monolith' || '${service.type:null}'=='tb-core'")
public @interface TbCoreComponent {
}

22
common/queue/src/main/java/org/thingsboard/server/queue/util/TbKafkaQueue.java

@ -1,22 +0,0 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.queue.util;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@ConditionalOnExpression("'${queue.type:null}'=='kafka'")
public @interface TbKafkaQueue {
}

22
common/queue/src/main/java/org/thingsboard/server/queue/util/TbMonolithComponent.java

@ -1,22 +0,0 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.queue.util;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@ConditionalOnExpression("'${service.type:null}'=='monolith'")
public @interface TbMonolithComponent {
}

22
common/queue/src/main/java/org/thingsboard/server/queue/util/TbMonolithOrCoreComponent.java

@ -1,22 +0,0 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.queue.util;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@ConditionalOnExpression("'${service.type:null}'=='monolith' || '${service.type:null}'=='tb-core'")
public @interface TbMonolithOrCoreComponent {
}

22
common/queue/src/main/java/org/thingsboard/server/queue/util/TbMonolithOrRuleEngineComponent.java

@ -1,22 +0,0 @@
/**
* Copyright © 2016-2020 The Thingsboard Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.thingsboard.server.queue.util;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@ConditionalOnExpression("'${service.type:null}'=='monolith' || '${service.type:null}'=='tb-rule-engine'")
public @interface TbMonolithOrRuleEngineComponent {
}

2
common/queue/src/main/java/org/thingsboard/server/queue/util/TbRuleEngineComponent.java

@ -17,6 +17,6 @@ package org.thingsboard.server.queue.util;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
@ConditionalOnExpression("'${service.type:null}'=='tb-rule-engine'")
@ConditionalOnExpression("'${service.type:null}'=='monolith' || '${service.type:null}'=='tb-rule-engine'")
public @interface TbRuleEngineComponent {
}

12
common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/service/DefaultTransportService.java

@ -150,11 +150,13 @@ public class DefaultTransportService implements TransportService {
});
transportNotificationsConsumer.commit();
} catch (Exception e) {
log.warn("Failed to obtain messages from queue.", e);
try {
Thread.sleep(notificationsPollDuration);
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new requests", e2);
if (!stopped) {
log.warn("Failed to obtain messages from queue.", e);
try {
Thread.sleep(notificationsPollDuration);
} catch (InterruptedException e2) {
log.trace("Failed to wait until the server has capacity to handle new requests", e2);
}
}
}
}

Loading…
Cancel
Save