Stand with Ukraine flag
Try it now Pricing
Professional Edition
Installation > Configuration > Integration executor parameters
Getting Started Documentation Devices Library Guides
Architecture API FAQ
On this page

Integration executor parameters

Server common parameters

ParameterEnvironment VariableDefault ValueDescription
server.address HTTP_BIND_ADDRESS 0.0.0.0 Server bind address
server.port HTTP_BIND_PORT 8082 Server bind port
server.tomcat.max-http-form-post-size MAX_HTTP_FORM_POST_SIZE 10000000 10Mb

Spring common parameters

ParameterEnvironment VariableDefault ValueDescription
spring.main.allow-circular-references "true" Spring Boot configuration property that controls whether circular dependencies between beans are allowed.
spring.servlet.multipart.max-file-size SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE 50MB Total file size cannot exceed 50MB when configuring file uploads
spring.servlet.multipart.max-request-size SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE 50MB Total request size for a multipart/form-data cannot exceed 50MB

Zookeeper connection parameters. Used for service discovery.

ParameterEnvironment VariableDefault ValueDescription
zk.enabled ZOOKEEPER_ENABLED true Enable/disable zookeeper discovery service.
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper connect string
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper retry interval in milliseconds
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper connection timeout in milliseconds
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper session timeout in milliseconds
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Name of the directory in zookeeper 'filesystem'
zk.recalculate_delay ZOOKEEPER_RECALCULATE_DELAY_MS 0 The recalculate_delay property is recommended in a microservices architecture setup for rule-engine services. This property provides a pause to ensure that when a rule-engine service is restarted, other nodes don't immediately attempt to recalculate their partitions. The delay is recommended because the initialization of rule chain actors is time-consuming. Avoiding unnecessary recalculations during a restart can enhance system performance and stability.

Integration common parameters

ParameterEnvironment VariableDefault ValueDescription
integrations.statistics.enabled INTEGRATIONS_STATISTICS_ENABLED true Enable/disable integrations statistics
integrations.statistics.persist_frequency INTEGRATIONS_STATISTICS_PERSIST_FREQUENCY 3600000 Integration statistic persistence frequency in milliseconds
integrations.init.connection_timeout_sec INTEGRATIONS_INIT_CONNECTION_TIMEOUT_SEC 10 Maximum connection timeout allowed for integrations in seconds. Any greater user defined timeout will be reduced down to this limit.
integrations.init.connection_check_api_request_timeout_sec INTEGRATIONS_INIT_CONNECTION_CHECK_API_REQUEST_TIMEOUT_SEC 20 Connection check timeout for API request in seconds
integrations.reinit.enabled INTEGRATIONS_REINIT_ENABLED true Enable/Disable integrations hot reinitialization
integrations.reinit.frequency INTEGRATIONS_REINIT_FREQUENCY 300000 Checking interval for reinit integrations
integrations.allow_Local_network_hosts INTEGRATIONS_ALLOW_LOCAL_NETWORK_HOSTS true Enable/Disable integrations local network hosts

Queue common parameters

ParameterEnvironment VariableDefault ValueDescription
queue.type TB_QUEUE_TYPE kafka kafka (Apache Kafka) or aws-sqs (AWS SQS) or pubsub (PubSub) or service-bus (Azure Service Bus) or rabbitmq (RabbitMQ)
queue.prefix TB_QUEUE_PREFIX Global queue prefix. If specified, prefix is added before default topic name: 'prefix.default_topic_name'. Prefix is applied to all topics (and consumer groups for kafka).
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 Kafka Bootstrap Servers
queue.kafka.ssl.enabled TB_KAFKA_SSL_ENABLED false Enable/Disable SSL Kafka communication
queue.kafka.ssl.truststore.location TB_KAFKA_SSL_TRUSTSTORE_LOCATION The location of the trust store file
queue.kafka.ssl.truststore.password TB_KAFKA_SSL_TRUSTSTORE_PASSWORD The password of trust store file if specified
queue.kafka.ssl.keystore.location TB_KAFKA_SSL_KEYSTORE_LOCATION The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
queue.kafka.ssl.keystore.password TB_KAFKA_SSL_KEYSTORE_PASSWORD The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
queue.kafka.ssl.key.password TB_KAFKA_SSL_KEY_PASSWORD The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
queue.kafka.acks TB_KAFKA_ACKS all The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed:0,1 and all
queue.kafka.retries TB_KAFKA_RETRIES 1 Number of retries. Resend any record whose send fails with a potentially transient error
queue.kafka.compression.type TB_KAFKA_COMPRESSION_TYPE none none or gzip
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 Default batch size. This setting gives the upper bound of the batch size to be sent
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
queue.kafka.max.request.size TB_KAFKA_MAX_REQUEST_SIZE 1048576 The maximum size of a request in bytes. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests
queue.kafka.max.in.flight.requests.per.connection TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION 5 The maximum number of unacknowledged requests the client will send on a single connection before blocking
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 The total bytes of memory the producer can use to buffer records waiting to be sent to the server
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 The multiple copies of data over the multiple brokers of Kafka
queue.kafka.max_poll_interval_ms TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS 300000 The maximum delay between invocations of poll() when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records
queue.kafka.max_poll_records TB_QUEUE_KAFKA_MAX_POLL_RECORDS 8192 The maximum number of records returned in a single call to poll()
queue.kafka.max_partition_fetch_bytes TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES 16777216 The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer
queue.kafka.fetch_max_bytes TB_QUEUE_KAFKA_FETCH_MAX_BYTES 134217728 The maximum amount of data the server will return. Records are fetched in batches by the consumer
queue.kafka.request.timeout.ms TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS 30000 (30 seconds)
queue.kafka.session.timeout.ms TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS 10000 (10 seconds)
queue.kafka.use_confluent_cloud TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD false Enable/Disable using of Confluent Cloud
queue.kafka.confluent.ssl.algorithm TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM https The endpoint identification algorithm used by clients to validate server hostname. The default value is https
queue.kafka.confluent.sasl.mechanism TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM PLAIN The mechanism used to authenticate Schema Registry requests. SASL/PLAIN should only be used with TLS/SSL as a transport layer to ensure that clear passwords are not transmitted on the wire without encryption
queue.kafka.confluent.sasl.config TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG org.apache.kafka.common.security.plain.PlainLoginModule required username=\"CLUSTER_API_KEY\" password=\"CLUSTER_API_SECRET\"; Using JAAS Configuration for specifying multiple SASL mechanisms on a broker
queue.kafka.confluent.security.protocol TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL SASL_SSL Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL
queue.kafka.consumer-properties-per-topic.tb_ota_package.key max.poll.records Key-value properties for Kafka consumer per specific topic, e.g. tb_ota_package is a topic name for ota, tb_rule_engine.sq is a topic name for default SequentialByOriginator queue. Check TB_QUEUE_CORE_OTA_TOPIC and TB_QUEUE_RE_SQ_TOPIC params
queue.kafka.consumer-properties-per-topic.tb_ota_package.key.value TB_QUEUE_KAFKA_OTA_MAX_POLL_RECORDS 10 Example of specific consumer properties value per topic
queue.kafka.other-inline TB_QUEUE_KAFKA_OTHER_PROPERTIES In this section you can specify custom parameters (semicolon separated) for Kafka consumer/producer/admin
queue.kafka.topic-properties.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Kafka properties for Rule Engine
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Kafka properties for Core topics
queue.kafka.topic-properties.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Kafka properties for Transport Api topics
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Kafka properties for Notifications topics
queue.kafka.topic-properties.js-executor TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:104857600;partitions:100;min.insync.replicas:1 Kafka properties for JS Executor topics
queue.kafka.topic-properties.integration-api TB_QUEUE_KAFKA_INTEGRATION_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Kafka properties for Integration Api topics
queue.kafka.topic-properties.housekeeper TB_QUEUE_KAFKA_HOUSEKEEPER_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Kafka properties for Housekeeper tasks topic
queue.kafka.consumer-stats.enabled TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED true Prints lag between consumer group offset and last messages offset in Kafka topics
queue.kafka.consumer-stats.print-interval-ms TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS 60000 Statistics printing interval for Kafka's consumer-groups stats
queue.kafka.consumer-stats.kafka-response-timeout-ms TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS 1000 Time to wait for the stats-loading requests to Kafka to finis
queue.aws_sqs.use_default_credential_provider_chain TB_QUEUE_AWS_SQS_USE_DEFAULT_CREDENTIAL_PROVIDER_CHAIN false Use the default credentials provider for AWS SQS
queue.aws_sqs.access_key_id TB_QUEUE_AWS_SQS_ACCESS_KEY_ID YOUR_KEY Access key ID from AWS IAM user
queue.aws_sqs.secret_access_key TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY YOUR_SECRET Secret access key from AWS IAM user
queue.aws_sqs.region TB_QUEUE_AWS_SQS_REGION YOUR_REGION Region from AWS account
queue.aws_sqs.threads_per_topic TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC 1 Number of threads per each AWS SQS queue in consumer
queue.aws_sqs.producer_thread_pool_size TB_QUEUE_AWS_SQS_EXECUTOR_THREAD_POOL_SIZE 50 Thread pool size for aws_sqs queue producer executor provider. Default value equals to AmazonSQSAsyncClient.DEFAULT_THREAD_POOL_SIZE
queue.aws_sqs.queue-properties.rule-engine TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
queue.aws_sqs.queue-properties.core TB_QUEUE_AWS_SQS_CORE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
queue.aws_sqs.queue-properties.transport-api TB_QUEUE_AWS_SQS_TA_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
queue.aws_sqs.queue-properties.notifications TB_QUEUE_AWS_SQS_NOTIFICATIONS_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
queue.aws_sqs.queue-properties.js-executor TB_QUEUE_AWS_SQS_JE_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800
queue.aws_sqs.queue-properties.integration-api TB_QUEUE_AWS_SQS_INTEGRATION_QUEUE_PROPERTIES VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
queue.pubsub.project_id TB_QUEUE_PUBSUB_PROJECT_ID YOUR_PROJECT_ID Project ID from Google Cloud
queue.pubsub.service_account TB_QUEUE_PUBSUB_SERVICE_ACCOUNT YOUR_SERVICE_ACCOUNT API Credentials in JSON format
queue.pubsub.max_msg_size TB_QUEUE_PUBSUB_MAX_MSG_SIZE 1048576 in bytes
queue.pubsub.max_messages TB_QUEUE_PUBSUB_MAX_MESSAGES 1000 Number of messages per consumer
queue.pubsub.executor_thread_pool_size TB_QUEUE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE 0 Thread pool size for pubsub queue executor provider. If set to 0 - default pubsub executor provider value will be used (5 * number of available processors)
queue.pubsub.queue-properties.rule-engine TB_QUEUE_PUBSUB_RE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Rule Engine subscribers, messages which will commit after ackDeadlineInSec period can be consumed again
queue.pubsub.queue-properties.core TB_QUEUE_PUBSUB_CORE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Core subscribers, messages which will commit after ackDeadlineInSec period can be consumed again
queue.pubsub.queue-properties.transport-api TB_QUEUE_PUBSUB_TA_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Transport API subscribers, messages which will commit after ackDeadlineInSec period can be consumed again
queue.pubsub.queue-properties.notifications TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Version Control subscribers, messages which will commit after ackDeadlineInSec period can be consumed again
queue.pubsub.queue-properties.js-executor TB_QUEUE_PUBSUB_JE_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 PubSub queue properties
queue.pubsub.queue-properties.integration-api TB_QUEUE_PUBSUB_INTEGRATION_QUEUE_PROPERTIES ackDeadlineInSec:30;messageRetentionInSec:604800 Pub/Sub properties for Transport Api subscribers, messages which will commit after ackDeadlineInSec period can be consumed again
queue.service_bus.namespace_name TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME YOUR_NAMESPACE_NAME Azure namespace
queue.service_bus.sas_key_name TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME YOUR_SAS_KEY_NAME Azure Service Bus Shared Access Signatures key name
queue.service_bus.sas_key TB_QUEUE_SERVICE_BUS_SAS_KEY YOUR_SAS_KEY Azure Service Bus Shared Access Signatures key
queue.service_bus.max_messages TB_QUEUE_SERVICE_BUS_MAX_MESSAGES 1000 Number of messages per a consumer
queue.service_bus.queue-properties.rule-engine TB_QUEUE_SERVICE_BUS_RE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Rule Engine queues
queue.service_bus.queue-properties.core TB_QUEUE_SERVICE_BUS_CORE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Core queues
queue.service_bus.queue-properties.transport-api TB_QUEUE_SERVICE_BUS_TA_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Transport Api queues
queue.service_bus.queue-properties.notifications TB_QUEUE_SERVICE_BUS_NOTIFICATIONS_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Notification queues
queue.service_bus.queue-properties.js-executor TB_QUEUE_SERVICE_BUS_JE_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus queue properties
queue.service_bus.queue-properties.integration-api TB_QUEUE_SERVICE_BUS_INTEGRATION_QUEUE_PROPERTIES lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 Azure Service Bus properties for Integration Api queues
queue.rabbitmq.exchange_name TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME By default empty
queue.rabbitmq.host TB_QUEUE_RABBIT_MQ_HOST localhost RabbitMQ host used to establish connection
queue.rabbitmq.port TB_QUEUE_RABBIT_MQ_PORT 5672 RabbitMQ host used to establish a connection
queue.rabbitmq.virtual_host TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST / Virtual hosts provide logical grouping and separation of resources
queue.rabbitmq.username TB_QUEUE_RABBIT_MQ_USERNAME YOUR_USERNAME Username for RabbitMQ user account
queue.rabbitmq.password TB_QUEUE_RABBIT_MQ_PASSWORD YOUR_PASSWORD User password for RabbitMQ user account
queue.rabbitmq.automatic_recovery_enabled TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED false Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers)
queue.rabbitmq.connection_timeout TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT 60000 The connection timeout for the RabbitMQ connection factory
queue.rabbitmq.handshake_timeout TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT 10000 RabbitMQ has a timeout for connection handshake. When clients run in heavily constrained environments, it may be necessary to increase the timeout
queue.rabbitmq.queue-properties.rule-engine TB_QUEUE_RABBIT_MQ_RE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Rule Engine queues
queue.rabbitmq.queue-properties.core TB_QUEUE_RABBIT_MQ_CORE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Core queues
queue.rabbitmq.queue-properties.transport-api TB_QUEUE_RABBIT_MQ_TA_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Transport API queues
queue.rabbitmq.queue-properties.notifications TB_QUEUE_RABBIT_MQ_NOTIFICATIONS_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Notification queues
queue.rabbitmq.queue-properties.js-executor TB_QUEUE_RABBIT_MQ_JE_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ queue properties
queue.rabbitmq.queue-properties.integration-api TB_QUEUE_RABBIT_MQ_INTEGRATION_QUEUE_PROPERTIES x-max-length-bytes:1048576000;x-message-ttl:604800000 RabbitMQ properties for Integration Api queues
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 murmur3_32, murmur3_128 or sha256
queue.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests Topic used to consume api requests from transport microservices
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses Topic used to produce api responses to transport microservices
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from transport microservices to be handled by server
queue.transport_api.max_requests_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from transport microservice by server
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 Amount of threads used to invoke callbacks
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from transport microservices
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from transport microservices
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core Default topic name of Kafka, RabbitMQ, etc. queue
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Core microservices
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Amount of partitions used by Core microservices
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 2000 Timeout for processing a message pack by Core microservices
queue.core.ota.topic TB_QUEUE_CORE_OTA_TOPIC tb_ota_package Default topic name for OTA updates
queue.core.ota.pack-interval-ms TB_QUEUE_CORE_OTA_PACK_INTERVAL_MS 60000 The interval of processing the OTA updates for devices. Used to avoid any harm to the network due to many parallel OTA updates
queue.core.ota.pack-size TB_QUEUE_CORE_OTA_PACK_SIZE 100 The size of OTA updates notifications fetched from the queue. The queue stores pairs of firmware and device ids
queue.core.usage-stats-topic TB_QUEUE_US_TOPIC tb_usage_stats Stats topic name for queue Kafka, RabbitMQ, etc.
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED true Enable/disable statistics for Core microservices
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 60000 Statistics printing interval for Core microservices
queue.core.housekeeper.topic TB_HOUSEKEEPER_TOPIC tb_housekeeper Topic name for Housekeeper tasks
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests JS Eval request topic
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses JS Eval responses topic prefix that is combined with node id
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 JS Eval max pending requests
queue.js.max_eval_requests_timeout REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT 60000 JS Eval max request timeout
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 JS max request timeout
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JS response poll interval
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine Deprecated. It will be removed in the nearest releases
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by Rule Engine
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 2000 Timeout for processing a message pack of Rule Engine
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true Enable/disable statistics for Rule Engine
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 60000 Statistics printing interval for Rule Engine
queue.rule-engine.queues.name TB_QUEUE_RE_SQ_QUEUE_NAME SequentialByOriginator queue name
queue.rule-engine.queues.name.topic TB_QUEUE_RE_SQ_TOPIC tb_rule_engine.sq queue topic
queue.rule-engine.queues.name.poll-interval TB_QUEUE_RE_SQ_POLL_INTERVAL_MS 25 poll interval
queue.rule-engine.queues.name.partitions TB_QUEUE_RE_SQ_PARTITIONS 10 number queue partitions
queue.rule-engine.queues.name.consumer-per-partition TB_QUEUE_RE_SQ_CONSUMER_PER_PARTITION true if true - use for each customer different partition
queue.rule-engine.queues.name.pack-processing-timeout TB_QUEUE_RE_SQ_PACK_PROCESSING_TIMEOUT_MS 2000 Timeout for processing a message pack
queue.rule-engine.queues.name.submit-strategy.type TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_TYPE SEQUENTIAL_BY_ORIGINATOR BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_BY_TENANT, SEQUENTIAL
queue.rule-engine.queues.name.submit-strategy.batch-size TB_QUEUE_RE_SQ_SUBMIT_STRATEGY_BATCH_SIZE 100 Maximum number of messages in batch
queue.rule-engine.queues.name.processing-strategy.type TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_TYPE RETRY_FAILED_AND_TIMED_OUT SKIP_ALL_FAILURES, SKIP_ALL_FAILURES_AND_TIMED_OUT, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
queue.rule-engine.queues.name.processing-strategy.retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES 3 Number of retries, 0 is unlimited
queue.rule-engine.queues.name.processing-strategy.failure-percentage TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE 0 Skip retry if failures or timeouts are less then X percentage of messages;
queue.rule-engine.queues.name.processing-strategy.pause-between-retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE 5 Time in seconds to wait in consumer thread before retries;
queue.rule-engine.queues.name.processing-strategy.max-pause-between-retries TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE 5 Max allowed time in seconds for pause between retries.
queue.integration.partitions TB_QUEUE_INTEGRATION_PARTITIONS 3 Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details. Valid values - murmur3_32, murmur3_128 or sha256
queue.integration.notifications_topic TB_QUEUE_INTEGRATION_NOTIFICATIONS_TOPIC tb_ie.notifications Default notification topic name used by queue
queue.integration.downlink_topic TB_QUEUE_INTEGRATION_DOWNLINK_TOPIC tb_ie.downlink Default downlink topic name used by queue
queue.integration.uplink_topic TB_QUEUE_INTEGRATION_UPLINK_TOPIC tb_ie.uplink Default uplink topic name used by queue
queue.integration.poll_interval TB_QUEUE_INTEGRATION_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by integrations
queue.integration.pack-processing-timeout TB_QUEUE_INTEGRATION_PACK_PROCESSING_TIMEOUT_MS 10000 Timeout for processing a message pack by integrations
queue.integration_api.requests_topic TB_QUEUE_INTEGRATION_EXECUTOR_API_REQUEST_TOPIC tb_ie.api.requests Default Integration Api request topic name used by queue
queue.integration_api.responses_topic TB_QUEUE_INTEGRATION_EXECUTOR_API_RESPONSE_TOPIC tb_ie.api.responses Default Integration Api response topic name used by queue
queue.integration_api.max_pending_requests TB_QUEUE_INTEGRATION_EXECUTOR_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from integration executor to be handled by server<
queue.integration_api.max_requests_timeout TB_QUEUE_INTEGRATION_EXECUTOR_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from integration executor microservice by server
queue.integration_api.max_callback_threads TB_QUEUE_INTEGRATION_EXECUTOR_MAX_CALLBACK_THREADS 10 Amount of threads used to invoke callbacks
queue.integration_api.request_poll_interval TB_QUEUE_INTEGRATION_EXECUTOR_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from integration executor microservices
queue.integration_api.response_poll_interval TB_QUEUE_INTEGRATION_EXECUTOR_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from integration executor microservices

Tbel parameters

ParameterEnvironment VariableDefault ValueDescription
tbel.enabled TBEL_ENABLED true Enable/Disable TBEL feature.
tbel.max_total_args_size TBEL_MAX_TOTAL_ARGS_SIZE 100000 Limit the number of arguments that are passed to the function to execute the script
tbel.max_result_size TBEL_MAX_RESULT_SIZE 300000 Maximum allowed symbols in a result after processing a script
tbel.max_script_body_size TBEL_MAX_SCRIPT_BODY_SIZE 50000 Maximum allowed symbols in the script body
tbel.max_memory_limit_mb TBEL_MAX_MEMORY_LIMIT_MB 8 Maximum allowed TBEL script execution memory
tbel.max_errors TBEL_MAX_ERRORS 3 Maximum allowed TBEL script execution errors before it will be blacklisted
tbel.max_requests_timeout TBEL_MAX_REQUEST_TIMEOUT 500 TBEL Eval max request timeout in milliseconds. 0 - no timeout
tbel.max_black_list_duration_sec TBEL_MAX_BLACKLIST_DURATION_SEC 60 Maximum time in seconds for black listed function to stay in the list.
tbel.thread_pool_size TBEL_THREAD_POOL_SIZE 50 Specify thread pool size for javascript executor service
tbel.stats.enabled TB_TBEL_STATS_ENABLED false Enable/Disable stats collection for TBEL engine
tbel.stats.print_interval_ms TB_TBEL_STATS_PRINT_INTERVAL_MS 10000 Interval of logging for TBEL stats

JS parameters

ParameterEnvironment VariableDefault ValueDescription
js.evaluator JS_EVALUATOR local local/remote
js.local.js_thread_pool_size LOCAL_JS_THREAD_POOL_SIZE 50 Specify thread pool size for javascript executor service
js.local.use_js_sandbox USE_LOCAL_JS_SANDBOX true Use Sandboxed (secured) JVM JavaScript environment
js.local.monitor_thread_pool_size LOCAL_JS_SANDBOX_MONITOR_THREAD_POOL_SIZE 4 Specify thread pool size for JavaScript sandbox resource monitor
js.local.max_cpu_time LOCAL_JS_SANDBOX_MAX_CPU_TIME 8000 Maximum CPU time in milliseconds allowed for script execution
js.local.max_errors LOCAL_JS_SANDBOX_MAX_ERRORS 3 Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
js.local.max_requests_timeout LOCAL_JS_MAX_REQUEST_TIMEOUT 0 JS Eval max request timeout. 0 - no timeout
js.local.max_black_list_duration_sec LOCAL_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC 60 Maximum time in seconds for black listed function to stay in the list.
js.local.stats.enabled TB_JS_LOCAL_STATS_ENABLED false Enable/Disable stats collection for local JS executor
js.local.stats.print_interval_ms TB_JS_LOCAL_STATS_PRINT_INTERVAL_MS 10000 Interval of logging for local JS executor stats
js.remote.js_thread_pool_size REMOTE_JS_THREAD_POOL_SIZE 50 Specify thread pool size for javascript executor service
js.remote.max_errors REMOTE_JS_SANDBOX_MAX_ERRORS 3 Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
js.remote.max_black_list_duration_sec REMOTE_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC 60 Maximum time in seconds for black listed function to stay in the list.
js.remote.stats.enabled TB_JS_REMOTE_STATS_ENABLED false Enable/Disable stats collection for remote JS executor
js.remote.stats.print_interval_ms TB_JS_REMOTE_STATS_PRINT_INTERVAL_MS 10000 Interval of logging for remote JS executor stats

Cache parameters

ParameterEnvironment VariableDefault ValueDescription
cache.type CACHE_TYPE redis caffeine or redis
cache.maximumPoolSize CACHE_MAXIMUM_POOL_SIZE 16 max pool size to process futures that calls the external cache
cache.specs.devices.timeToLiveInMinutes CACHE_SPECS_DEVICES_TTL 1440 Device cache TTL
cache.specs.devices.maxSize CACHE_SPECS_DEVICES_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.downlink.timeToLiveInMinutes CACHE_SPECS_DOWNLINK_TTL 1440 Downlink converter cache specs TTL
cache.specs.downlink.maxSize CACHE_SPECS_DOWNLINK_MAX_SIZE 100000 0 means the cache is disabled
cache.specs.integrations.timeToLiveInMinutes CACHE_SPECS_INTEGRATIONS_TTL 1440 integrations cache specs TTL
cache.specs.integrations.maxSize CACHE_SPECS_INTEGRATIONS_MAX_SIZE 10000 0 means the cache is disabled
cache.rateLimits.timeToLiveInMinutes CACHE_SPECS_RATE_LIMITS_TTL 60 Rate limits cache TTL
cache.rateLimits.maxSize CACHE_SPECS_RATE_LIMITS_MAX_SIZE 100000 0 means the cache is disabled

Redis configuration parameters

ParameterEnvironment VariableDefault ValueDescription
redis.connection.type REDIS_CONNECTION_TYPE standalone Redis deployment type: Standalone (single Redis node deployment) OR Cluster
redis.standalone.host REDIS_HOST localhost Redis connection host
redis.standalone.port REDIS_PORT 6379 Redis connection port
redis.standalone.useDefaultClientConfig REDIS_USE_DEFAULT_CLIENT_CONFIG true Use the default Redis configuration file
redis.standalone.clientName REDIS_CLIENT_NAME standalone This value may be used only if you used not default ClientConfig
redis.standalone.connectTimeout REDIS_CLIENT_CONNECT_TIMEOUT 30000 This value may be used only if you used not default ClientConfig
redis.standalone.readTimeout REDIS_CLIENT_READ_TIMEOUT 60000 This value may be used only if you used not default ClientConfig
redis.standalone.usePoolConfig REDIS_CLIENT_USE_POOL_CONFIG false This value may be used only if you used not default ClientConfig
redis.cluster.nodes REDIS_NODES Comma-separated list of "host:port" pairs to bootstrap from.
redis.cluster.max-redirects REDIS_MAX_REDIRECTS 12 Maximum number of redirects to follow when executing commands across the cluster.
redis.cluster.useDefaultPoolConfig REDIS_USE_DEFAULT_POOL_CONFIG true if set false will be used pool config build from values of the pool config section
redis.sentinel.master REDIS_MASTER name of the master node
redis.sentinel.sentinels REDIS_SENTINELS comma-separated list of "host:port" pairs of sentinels
redis.sentinel.password REDIS_SENTINEL_PASSWORD password to authenticate with sentinel
redis.sentinel.useDefaultPoolConfig REDIS_USE_DEFAULT_POOL_CONFIG true if set false will be used pool config build from values of the pool config section
redis.db REDIS_DB 0 db index
redis.password REDIS_PASSWORD db password
redis.ssl.enabled TB_REDIS_SSL_ENABLED false Enable/disable secure connection
redis.ssl.credentials.cert_file TB_REDIS_SSL_PEM_CERT Path redis server (CA) certificate
redis.ssl.credentials.user_cert_file TB_REDIS_SSL_PEM_KEY Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
redis.ssl.credentials.user_key_file TB_REDIS_SSL_PEM_KEY_PASSWORD Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
redis.pool_config.maxTotal REDIS_POOL_CONFIG_MAX_TOTAL 128 Maximum number of connections that can be allocated by the connection pool
redis.pool_config.maxIdle REDIS_POOL_CONFIG_MAX_IDLE 128 Maximum number of idle connections that can be maintained in the pool without being closed
redis.pool_config.minIdle REDIS_POOL_CONFIG_MIN_IDLE 16 Minumum number of idle connections that can be maintained in the pool without being closed
redis.pool_config.testOnBorrow REDIS_POOL_CONFIG_TEST_ON_BORROW true Enable/Disable PING command sent when a connection is borrowed
redis.pool_config.testOnReturn REDIS_POOL_CONFIG_TEST_ON_RETURN true The property is used to specify whether to test the connection before returning it to the connection pool.
redis.pool_config.testWhileIdle REDIS_POOL_CONFIG_TEST_WHILE_IDLE true The property is used in the context of connection pooling in Redis
redis.pool_config.minEvictableMs REDIS_POOL_CONFIG_MIN_EVICTABLE_MS 60000 Minimum time that an idle connection should be idle before it can be evicted from the connection pool. The value is set in milliseconds
redis.pool_config.evictionRunsMs REDIS_POOL_CONFIG_EVICTION_RUNS_MS 30000 Specifies the time interval in milliseconds between two consecutive eviction runs
redis.pool_config.maxWaitMills REDIS_POOL_CONFIG_MAX_WAIT_MS 60000 Maximum time in milliseconds where a client is willing to wait for a connection from the pool when all connections are exhausted
redis.pool_config.numberTestsPerEvictionRun REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN 3 Specifies the number of connections to test for eviction during each eviction run
redis.pool_config.blockWhenExhausted REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED true Determines the behavior when a thread requests a connection from the pool, but there are no available connections, and the pool cannot create more due to the maxTotal configuration

CoAP server parameters

ParameterEnvironment VariableDefault ValueDescription
coap.enabled COAP_ENABLED true Enable/disable coap transport protocol.
coap.bind_address COAP_BIND_ADDRESS 0.0.0.0 CoAP bind address
coap.bind_port COAP_BIND_PORT 5683 CoAP bind port
coap.dtls.enabled COAP_DTLS_ENABLED false Enable/disable DTLS 1.2 support
coap.dtls.retransmission_timeout COAP_DTLS_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS 9000 RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000
coap.dtls.bind_address COAP_DTLS_BIND_ADDRESS 0.0.0.0 CoAP DTLS bind address
coap.dtls.bind_port COAP_DTLS_BIND_PORT 5684 CoAP DTLS bind port
coap.dtls.connection_id_length COAP_DTLS_CONNECTION_ID_LENGTH CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
coap.dtls.credentials.type COAP_DTLS_CREDENTIALS_TYPE PEM Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)
coap.dtls.credentials.pem.cert_file COAP_DTLS_PEM_CERT coapserver.pem Path to the server certificate file (holds server certificate or certificate chain, may include server private key)
coap.dtls.credentials.pem.key_file COAP_DTLS_PEM_KEY coapserver_key.pem Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file;
coap.dtls.credentials.pem.key_password COAP_DTLS_PEM_KEY_PASSWORD server_key_password Server certificate private key password (optional)
coap.dtls.credentials.keystore.type COAP_DTLS_KEY_STORE_TYPE JKS Type of the key store (JKS or PKCS12)
coap.dtls.credentials.keystore.store_file COAP_DTLS_KEY_STORE coapserver.jks Path to the key store that holds the SSL certificate
coap.dtls.credentials.keystore.store_password COAP_DTLS_KEY_STORE_PASSWORD server_ks_password Password used to access the key store
coap.dtls.credentials.keystore.key_alias COAP_DTLS_KEY_ALIAS serveralias Key alias
coap.dtls.credentials.keystore.key_password COAP_DTLS_KEY_PASSWORD server_key_password Password used to access the key
coap.dtls.x509.skip_validity_check_for_client_cert TB_COAP_X509_DTLS_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT false Skip certificate validity check for client certificates.
coap.dtls.x509.dtls_session_inactivity_timeout TB_COAP_X509_DTLS_SESSION_INACTIVITY_TIMEOUT 86400000 Inactivity timeout of DTLS session. Used to cleanup cache
coap.dtls.x509.dtls_session_report_timeout TB_COAP_X509_DTLS_SESSION_REPORT_TIMEOUT 1800000 Interval of periodic eviction of the timed-out DTLS sessions

Event parameters

ParameterEnvironment VariableDefault ValueDescription
event.debug.rate_limits.enabled DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED true If true rate limits will be active
event.debug.rate_limits.integration INTEGRATION_DEBUG_MODE_RATE_LIMITS_PER_TENANT 50000:3600 No more than 50000 messages per hour
event.debug.rate_limits.converter CONVERTER_DEBUG_MODE_RATE_LIMITS_PER_TENANT 50000:3600 No more than 50000 messages per hour
service.type TB_SERVICE_TYPE tb-integration-executor service type
service.id TB_SERVICE_ID Unique id for this service (autogenerated if empty)
service.integrations.supported TB_SERVICE_INTEGRATIONS_SUPPORTED ALL Allow to enable integration on service/microservice integration executor. Allowed values: OCEANCONNECT, SIGFOX, THINGPARK, TPE, CHIRPSTACK, TUYA, UDP, TCP, TTN, TTI, AZURE_EVENT_HUB, OPC_UA, IBM_WATSON_IOT, AWS_IOT, AWS_SQS, LORIOT, COAP, AZURE_SERVICE_BUS, HTTP, MQTT or ALL to allow all
service.integrations.excluded TB_SERVICE_INTEGRATIONS_EXCLUDED NONE List of integrations to exclude from processing on service/microservice integration executor. Allowed values: OCEANCONNECT, SIGFOX, THINGPARK, TPE, CHIRPSTACK, TUYA, UDP, TCP, TTN, TTI, AZURE_EVENT_HUB, OPC_UA, IBM_WATSON_IOT, AWS_IOT, AWS_SQS, LORIOT, COAP, AZURE_SERVICE_BUS, HTTP, MQTT. By default NONE

Usage statistics parameters

ParameterEnvironment VariableDefault ValueDescription
usage.stats.report.enabled USAGE_STATS_REPORT_ENABLED true Enable/Disable the collection of statistics about API usage. Collected on a system and tenant level by default
usage.stats.report.enabled_per_customer USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED false Enable/Disable collection of statistics about API usage on a customer level
usage.stats.report.interval USAGE_STATS_REPORT_INTERVAL 10 Interval of reporting the statistics. By default, the summarized statistics are sent every 10 seconds

Metrics parameters

ParameterEnvironment VariableDefault ValueDescription
metrics.enabled METRICS_ENABLED false Enable/disable actuator metrics.
metrics.timer.percentiles METRICS_TIMER_PERCENTILES 0.5 Metrics percentiles returned by actuator for timer metrics. List of double values (divided by ,).

General management parameters

ParameterEnvironment VariableDefault ValueDescription
management.endpoints.web.exposure.include '${METRICS_ENDPOINTS_EXPOSE:info}' Expose metrics endpoint (use value 'prometheus' to enable prometheus metrics).

Notification system parameters

ParameterEnvironment VariableDefault ValueDescription
notification_system.rules.deduplication_durations TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS RATE_LIMITS:14400000; Semicolon-separated deduplication durations (in millis) for trigger types. Format: 'NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456'