Commit 67f122647bf17a8d76af4c683eb0fad46d652531

Authored by vzikratyi
Committed by Andrew Shvayka
1 parent ba680570

Added property to disable 'transport' features for 'monolith' service type (in cluster mode)

Showing 15 changed files with 16 additions and 14 deletions
... ... @@ -548,6 +548,8 @@ transport:
548 548 max_string_value_length: "${JSON_MAX_STRING_VALUE_LENGTH:0}"
549 549 client_side_rpc:
550 550 timeout: "${CLIENT_SIDE_RPC_TIMEOUT:60000}"
  551 + # Enable/disable http/mqtt/coap transport protocols (has higher priority than certain protocol's 'enabled' property)
  552 + api_enabled: "${TB_TRANSPORT_API_ENABLED:true}"
551 553 # Local HTTP transport parameters
552 554 http:
553 555 enabled: "${HTTP_ENABLED:true}"
... ...
... ... @@ -42,7 +42,7 @@ import org.thingsboard.server.queue.sqs.TbAwsSqsSettings;
42 42 import javax.annotation.PreDestroy;
43 43
44 44 @Component
45   -@ConditionalOnExpression("'${queue.type:null}'=='aws-sqs' && ('${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport')")
  45 +@ConditionalOnExpression("'${queue.type:null}'=='aws-sqs' && (('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport')")
46 46 @Slf4j
47 47 public class AwsSqsTransportQueueFactory implements TbTransportQueueFactory {
48 48 private final TbQueueTransportApiSettings transportApiSettings;
... ...
... ... @@ -37,7 +37,7 @@ import org.thingsboard.server.queue.settings.TbQueueTransportApiSettings;
37 37 import org.thingsboard.server.queue.settings.TbQueueTransportNotificationSettings;
38 38
39 39 @Component
40   -@ConditionalOnExpression("'${queue.type:null}'=='in-memory' && ('${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport')")
  40 +@ConditionalOnExpression("'${queue.type:null}'=='in-memory' && (('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport')")
41 41 @Slf4j
42 42 public class InMemoryTbTransportQueueFactory implements TbTransportQueueFactory {
43 43 private final TbQueueTransportApiSettings transportApiSettings;
... ...
... ... @@ -43,7 +43,7 @@ import org.thingsboard.server.queue.settings.TbQueueTransportNotificationSetting
43 43 import javax.annotation.PreDestroy;
44 44
45 45 @Component
46   -@ConditionalOnExpression("'${queue.type:null}'=='kafka' && ('${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport')")
  46 +@ConditionalOnExpression("'${queue.type:null}'=='kafka' && (('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport')")
47 47 @Slf4j
48 48 public class KafkaTbTransportQueueFactory implements TbTransportQueueFactory {
49 49
... ...
... ... @@ -43,7 +43,7 @@ import org.thingsboard.server.queue.settings.TbQueueTransportNotificationSetting
43 43 import javax.annotation.PreDestroy;
44 44
45 45 @Component
46   -@ConditionalOnExpression("'${queue.type:null}'=='pubsub' && ('${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport')")
  46 +@ConditionalOnExpression("'${queue.type:null}'=='pubsub' && (('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport')")
47 47 @Slf4j
48 48 public class PubSubTransportQueueFactory implements TbTransportQueueFactory {
49 49
... ...
... ... @@ -42,7 +42,7 @@ import org.thingsboard.server.queue.settings.TbQueueTransportNotificationSetting
42 42 import javax.annotation.PreDestroy;
43 43
44 44 @Component
45   -@ConditionalOnExpression("'${queue.type:null}'=='rabbitmq' && ('${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport')")
  45 +@ConditionalOnExpression("'${queue.type:null}'=='rabbitmq' && (('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport')")
46 46 @Slf4j
47 47 public class RabbitMqTransportQueueFactory implements TbTransportQueueFactory {
48 48 private final TbQueueTransportApiSettings transportApiSettings;
... ...
... ... @@ -38,7 +38,7 @@ import org.thingsboard.server.queue.settings.TbQueueTransportNotificationSetting
38 38 import javax.annotation.PreDestroy;
39 39
40 40 @Component
41   -@ConditionalOnExpression("'${queue.type:null}'=='service-bus' && ('${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport')")
  41 +@ConditionalOnExpression("'${queue.type:null}'=='service-bus' && (('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport')")
42 42 @Slf4j
43 43 public class ServiceBusTransportQueueFactory implements TbTransportQueueFactory {
44 44 private final TbQueueTransportApiSettings transportApiSettings;
... ...
... ... @@ -28,7 +28,7 @@ import org.thingsboard.server.transport.coap.adaptors.CoapTransportAdaptor;
28 28 * Created by ashvayka on 18.10.18.
29 29 */
30 30 @Slf4j
31   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.coap.enabled}'=='true')")
  31 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.coap.enabled}'=='true')")
32 32 @Component
33 33 public class CoapTransportContext extends TransportContext {
34 34
... ...
... ... @@ -30,7 +30,7 @@ import java.net.InetSocketAddress;
30 30 import java.net.UnknownHostException;
31 31
32 32 @Service("CoapTransportService")
33   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.coap.enabled}'=='true')")
  33 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.coap.enabled}'=='true')")
34 34 @Slf4j
35 35 public class CoapTransportService {
36 36
... ...
... ... @@ -62,7 +62,7 @@ import java.util.function.Consumer;
62 62 * @author Andrew Shvayka
63 63 */
64 64 @RestController
65   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.http.enabled}'=='true')")
  65 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.http.enabled}'=='true')")
66 66 @RequestMapping("/api/v1")
67 67 @Slf4j
68 68 public class DeviceApiController {
... ...
... ... @@ -29,7 +29,7 @@ import javax.annotation.PostConstruct;
29 29 * Created by ashvayka on 04.10.18.
30 30 */
31 31 @Slf4j
32   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.http.enabled}'=='true')")
  32 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.http.enabled}'=='true')")
33 33 @Component
34 34 public class HttpTransportContext extends TransportContext {
35 35
... ...
... ... @@ -31,7 +31,7 @@ import org.thingsboard.server.transport.mqtt.adaptors.MqttTransportAdaptor;
31 31 */
32 32 @Slf4j
33 33 @Component
34   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.mqtt.enabled}'=='true')")
  34 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.mqtt.enabled}'=='true')")
35 35 public class MqttTransportContext extends TransportContext {
36 36
37 37 @Getter
... ...
... ... @@ -36,7 +36,7 @@ import javax.annotation.PreDestroy;
36 36 * @author Andrew Shvayka
37 37 */
38 38 @Service("MqttTransportService")
39   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.mqtt.enabled}'=='true')")
  39 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true' && '${transport.mqtt.enabled}'=='true')")
40 40 @Slf4j
41 41 public class MqttTransportService {
42 42
... ...
... ... @@ -35,7 +35,7 @@ import java.util.concurrent.Executors;
35 35 @Slf4j
36 36 @Data
37 37 @Service
38   -@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || '${service.type:null}'=='monolith'")
  38 +@ConditionalOnExpression("'${service.type:null}'=='tb-transport' || ('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true')")
39 39 public abstract class TransportContext {
40 40
41 41 protected final ObjectMapper mapper = new ObjectMapper();
... ...
... ... @@ -81,7 +81,7 @@ import java.util.concurrent.atomic.AtomicInteger;
81 81 */
82 82 @Slf4j
83 83 @Service
84   -@ConditionalOnExpression("'${service.type:null}'=='monolith' || '${service.type:null}'=='tb-transport'")
  84 +@ConditionalOnExpression("('${service.type:null}'=='monolith' && '${transport.api_enabled:true}'=='true') || '${service.type:null}'=='tb-transport'")
85 85 public class DefaultTransportService implements TransportService {
86 86
87 87 @Value("${transport.rate_limits.enabled}")
... ...