Commit 67f122647bf17a8d76af4c683eb0fad46d652531
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}") | ... | ... |