Integration Executor Configuration
Server common parameters
Section titled “Server common parameters”Server bind address
Server bind port
10Mb
Spring common parameters
Section titled “Spring common parameters”Total file size cannot exceed 50MB when configuring file uploads
Total request size for a multipart/form-data cannot exceed 50MB
ZooKeeper connection parameters. Used for service discovery.
Section titled “ZooKeeper connection parameters. Used for service discovery.”Enable/disable ZooKeeper discovery service.
ZooKeeper connect string
ZooKeeper retry interval in milliseconds
ZooKeeper connection timeout in milliseconds
ZooKeeper session timeout in milliseconds
Name of the directory in ZooKeeper ‘filesystem’
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
Section titled “Integration common parameters”Enable/disable integrations statistics
Integration statistic persistence frequency in milliseconds
Maximum connection timeout allowed for integrations in seconds. Any greater user defined timeout will be reduced down to this limit.
Connection check timeout for API request in seconds
Enable/Disable integrations hot reinitialization
Checking interval for reinit integrations
Enable/Disable integrations local network hosts
Queue common parameters
Section titled “Queue common parameters”kafka (Apache Kafka)
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).
Kafka Bootstrap Servers
Enable/Disable SSL Kafka communication
The location of the trust store file
The password of trust store file if specified
The location of the key store file. This is optional for the client and can be used for two-way authentication for the client
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
The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
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
Number of retries. Resend any record whose send fails with a potentially transient error
none or gzip
Default batch size. This setting gives the upper bound of the batch size to be sent
This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
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
The maximum number of unacknowledged requests the client will send on a single connection before blocking
The total bytes of memory the producer can use to buffer records waiting to be sent to the server
The multiple copies of data over the multiple brokers of Kafka
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
The maximum number of records returned in a single call to poll()
The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer
The maximum amount of data the server will return. Records are fetched in batches by the consumer
(30 seconds)
(10 seconds)
Enable/Disable using of Confluent Cloud
The endpoint identification algorithm used by clients to validate server hostname. The default value is https
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
Using JAAS Configuration for specifying multiple SASL mechanisms on a broker
Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL
Example of specific consumer properties value per topic
tb_rule_engine.sq: - key: max.poll.records value: ”${TB_QUEUE_KAFKA_SQ_MAX_POLL_RECORDS:1024}” If you override any default Kafka topic name using environment variables, you must also specify the related consumer properties for the new topic in consumer-properties-per-topic-inline. Otherwise, the topic will not inherit its expected configuration (e.g., max.poll.records, timeouts, etc). Format: “topic1:key1=value1,key2=value2;topic2:key=value” Example: “tb_core_modified.notifications:max.poll.records=10;tb_edge_modified:max.poll.records=10,enable.auto.commit=true”
In this section you can specify custom parameters (semicolon separated) for Kafka consumer/producer/admin
Kafka properties for Rule Engine
Kafka properties for Core topics
Kafka properties for Transport Api topics
Kafka properties for Notifications topics
Kafka properties for JS Executor topics
Kafka properties for Integration Api topics
Kafka properties for Housekeeper tasks topic
Prints lag between consumer group offset and last messages offset in Kafka topics
Statistics printing interval for Kafka’s consumer-groups stats
Time to wait for the stats-loading requests to Kafka to finis
Topics cache TTL in milliseconds. 5 minutes by default
murmur3_32, murmur3_128 or sha256
Topic used to consume api requests from transport microservices
Topic used to produce api responses to transport microservices
Maximum pending api requests from transport microservices to be handled by server
Maximum timeout in milliseconds to handle api request from transport microservice by server
Amount of threads used to invoke callbacks
Interval in milliseconds to poll api requests from transport microservices
Interval in milliseconds to poll api response from transport microservices
Default topic name
For high-priority notifications that require minimum latency and processing time
Interval in milliseconds to poll messages by Core microservices
Amount of partitions used by Core microservices
Timeout for processing a message pack by Core microservices
Default topic name for OTA updates
The interval of processing the OTA updates for devices. Used to avoid any harm to the network due to many parallel OTA updates
The size of OTA updates notifications fetched from the queue. The queue stores pairs of firmware and device ids
Stats topic name
Enable/disable statistics for Core microservices
Statistics printing interval for Core microservices
Topic name for Housekeeper tasks
JS Eval request topic
JS Eval responses topic prefix that is combined with node id
JS Eval max pending requests
JS Eval max request timeout
JS max request timeout
JS response poll interval
Deprecated. It will be removed in the nearest releases
For high-priority notifications that require minimum latency and processing time
Interval in milliseconds to poll messages by Rule Engine
Timeout for processing a message pack of Rule Engine
Enable/disable statistics for Rule Engine
Statistics printing interval for Rule Engine
queue name
queue topic
poll interval
number queue partitions
if true - use for each customer different partition
Timeout for processing a message pack
BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_BY_TENANT, SEQUENTIAL
Maximum number of messages in batch
SKIP_ALL_FAILURES, SKIP_ALL_FAILURES_AND_TIMED_OUT, RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
Number of retries, 0 is unlimited
Skip retry if failures or timeouts are less then X percentage of messages;
Time in seconds to wait in consumer thread before retries;
Max allowed time in seconds for pause between retries.
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
For high-priority notifications that require minimum latency and processing time
Default downlink topic name used by queue
Downlink topic names for integration type (semicolor separated). Example: “MQTT:tb_ie.downlink.mqtt,HTTP:tb_ie.downlink.http” If not specified, the default topic will construct as before - ‘downlink_topic’ + IntegrationType.name()
Default uplink topic name used by queue
Interval in milliseconds to poll messages by integrations
Timeout for processing a message pack by integrations
Default Integration Api request topic name used by queue
Default Integration Api response topic name used by queue
Maximum pending api requests from integration executor to be handled by server<
Maximum timeout in milliseconds to handle api request from integration executor microservice by server
Amount of threads used to invoke callbacks
Interval in milliseconds to poll api requests from integration executor microservices
Interval in milliseconds to poll api response from integration executor microservices
Tbel parameters
Section titled “Tbel parameters”Enable/Disable TBEL feature.
Limit the number of arguments that are passed to the function to execute the script
Maximum allowed symbols in a result after processing a script
Maximum allowed symbols in the script body
Maximum allowed TBEL script execution memory
Maximum allowed TBEL script execution errors before it will be blacklisted
TBEL Eval max request timeout in milliseconds. 0 - no timeout
Maximum time in seconds for black listed function to stay in the list.
Specify thread pool size for javascript executor service
Enable/Disable stats collection for TBEL engine
Interval of logging for TBEL stats
JS parameters
Section titled “JS parameters”local/remote
Specify thread pool size for javascript executor service
Use Sandboxed (secured) JVM JavaScript environment
Specify thread pool size for JavaScript sandbox resource monitor
Maximum CPU time in milliseconds allowed for script execution
Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
JS Eval max request timeout. 0 - no timeout
Maximum time in seconds for black listed function to stay in the list.
Enable/Disable stats collection for local JS executor
Interval of logging for local JS executor stats
Specify thread pool size for javascript executor service
Maximum allowed JavaScript execution errors before JavaScript will be blacklisted
Maximum time in seconds for black listed function to stay in the list.
Enable/Disable stats collection for remote JS executor
Interval of logging for remote JS executor stats
JSON converter parameters
Section titled “JSON converter parameters”Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
Cache parameters
Section titled “Cache parameters”caffeine or redis
max pool size to process futures that calls the external cache
Device cache TTL
0 means the cache is disabled
Downlink converter cache specs TTL
0 means the cache is disabled
integrations cache specs TTL
0 means the cache is disabled
Rate limits cache TTL
0 means the cache is disabled
Redis/Valkey configuration parameters
Section titled “Redis/Valkey configuration parameters”Redis deployment type: Standalone (single Redis node deployment) OR Cluster
Redis connection host
Redis connection port
Use the default Redis configuration file
This value may be used only if you used not default ClientConfig
This value may be used only if you used not default ClientConfig
This value may be used only if you used not default ClientConfig
This value may be used only if you used not default ClientConfig
Comma-separated list of “host:port” pairs to bootstrap from.
Maximum number of redirects to follow when executing commands across the cluster.
if set false will be used pool config build from values of the pool config section
name of the master node
comma-separated list of “host:port” pairs of sentinels
password to authenticate with sentinel
if set false will be used pool config build from values of the pool config section
db index
db password
Redis username for ACL authentication (Redis 6.0+). Leave empty for legacy password-only auth
Enable/disable secure connection
Path redis server (CA) certificate
Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client
Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured.
Maximum number of connections that can be allocated by the connection pool
Maximum number of idle connections that can be maintained in the pool without being closed
Minumum number of idle connections that can be maintained in the pool without being closed
Enable/Disable PING command sent when a connection is borrowed
The property is used to specify whether to test the connection before returning it to the connection pool.
The property is used in the context of connection pooling in Redis
Minimum time that an idle connection should be idle before it can be evicted from the connection pool. The value is set in milliseconds
Specifies the time interval in milliseconds between two consecutive eviction runs
Maximum time in milliseconds where a client is willing to wait for a connection from the pool when all connections are exhausted
Specifies the number of connections to test for eviction during each eviction run
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
Section titled “CoAP server parameters”Enable/disable coap server.
CoAP bind address
CoAP bind port
Enable/disable DTLS 1.2 support
RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000
CoAP DTLS bind address
CoAP DTLS bind port
CoAP DTLS connection ID length. RFC 9146, Connection Identifier for DTLS 1.2
Specify the MTU (Maximum Transmission Unit). Should be used if LAN MTU is not used, e.g. if IP tunnels are used or if the client uses a smaller value than the LAN MTU. Default = 1024 Minimum value = 64 If set to 0 - LAN MTU is used.
DTLS maximum fragment length (RFC 6066, Section 4). Default = 1024 Possible values: 512, 1024, 2048, 4096. If set to 0, the default maximum fragment size of 2^14 bytes (16,384 bytes) is used. Without this extension, TLS specifies a fixed maximum plaintext fragment length of 2^14 bytes. It may be desirable for constrained clients to negotiate a smaller maximum fragment length due to memory limitations or bandwidth limitations. In order to negotiate smaller maximum fragment lengths, clients MAY include an extension of type “max_fragment_length” in the (extended) client hello. The “extension_data” field of this extension SHALL contain: enum { 2^9(1) == 512, 2^10(2) == 1024, 2^11(3) == 2048, 2^12(4) == 4096, (255) } MaxFragmentLength; TLS already requires clients and servers to support fragmentation of handshake messages.
Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)
Path to the server certificate file (holds server certificate or certificate chain, may include server private key)
Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file;
Server certificate private key password (optional)
Type of the key store (JKS or PKCS12)
Path to the key store that holds the SSL certificate
Password used to access the key store
Key alias
Password used to access the key
Skip certificate validity check for client certificates.
Inactivity timeout of DTLS session. Used to cleanup cache
Interval of periodic eviction of the timed-out DTLS sessions
Event parameters
Section titled “Event parameters”If true rate limits will be active
No more than 50000 messages per hour
No more than 50000 messages per hour
Service parameters
Section titled “Service parameters”service type
Unique id for this service (autogenerated if empty)
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
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
Section titled “Usage statistics parameters”Enable/Disable the collection of statistics about API usage. Collected on a system and tenant level by default
Enable/Disable collection of statistics about API usage on a customer level
Interval of reporting the statistics. By default, the summarized statistics are sent every 10 seconds
Reporting interval for urgent keys (e.g. SMS, Email) that require quicker usage state updates
Amount of statistic messages in pack
Metrics parameters
Section titled “Metrics parameters”Enable/disable actuator metrics.
Metrics percentiles returned by actuator for timer metrics. List of double values (divided by ,).
General management parameters
Section titled “General management parameters”Expose metrics endpoint (use value ‘prometheus’ to enable prometheus metrics).
Notification system parameters
Section titled “Notification system parameters”Semicolon-separated deduplication durations (in millis) for trigger types. Format: ‘NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456’
Maximum number of retransmission attempts allowed. If the attempt count exceeds this value, retransmissions will stop and the pending message will be dropped.
Base delay (in milliseconds) before the first retransmission attempt, measured from the moment the message is sent. Subsequent delays are calculated using exponential backoff. This base delay is also used as the reference value for applying jitter.
Jitter factor applied to the calculated retransmission delay. The actual delay is randomized within a range defined by multiplying the base delay by a factor between (1 - jitter_factor) and (1 + jitter_factor). For example, a jitter_factor of 0.15 means the actual delay may vary by up to ±15% of the base delay.