|
Do not create a Thing from the IntegrationRuntime Thing Template.
|
|
Do not enable -Dorg.apache.camel.jmx.createRmiConnector settings.
|
|
-Dencrypted.config.file=true is required in the examples below if you are encrypting the entire configuration file, and it must point to the encrypted Integration Runtime configuration file. If you are only encrypting entries in the file, omit the setting or set it to false.
|
Setting
|
Default
|
Description
|
---|---|---|
traceRoutes
|
false
|
Specifies whether the route execution should log messages as each processor in the route is invoked.
|
Thingworx
|
Specifies the settings needed to connect to the ThingWorx Platform (single-server mode) or Connection Server load balancer (cluster mode), formatted as JSON.
|
|
SSL
|
Specifies the Secure Sockets Layer (SSL) settings in JSON format.
|
Setting
|
Default
|
Description
|
||
---|---|---|---|---|
appKey
|
Specifies the application key from the ThingWorx Platform that has been configured for use by this Integration Runtime. This setting can be overridden with a Java system property.
|
|||
basePath
|
/Thingworx
|
Specifies the base path in the URI to the ThingWorx Platform (single-server mode) or Connection Server load balancer (cluster mode). This setting can be overridden with a Java system property.
|
||
OutboundTimeout
|
WSCommnucationSubsystem’s amount of time a request will wait for the response message before timing out (secs)
|
Specifies the Integration Runtime timeout for any third party request in waiting state. If no value is specified, Integration Runtime will take value from WSCommunicationSubsytem’s amount of time a request will wait for the response message before timing out (secs).
When Integration Runtime gets started, it will compare the value specified in integrationRuntime-settings.json file and WSCommunictaionSubsystem’s amount of time a request will wait for the response message before timing out (secs). The lower of these two values will be passed to Integration Runtime.
The default value is 30 and can be set as required.
|
||
host
|
localhost
|
Specifies the host in the URI to the ThingWorx Platform (single-server mode) or Connection Server load balancer (cluster mode). This setting can be overridden with a Java system property.
|
||
port
|
443
|
Specifies the port in the URI to the ThingWorx Platform (single-server mode) or Connection Server load balancer (cluster mode). This setting can be overridden with a Java system property.
|
||
sslEnable
|
true
|
Specifies whether SSL should be used to connect to the ThingWorx Platform via WebSocket. If true, then "wss" protocol is used for the URI. Otherwise, "ws" protocol is used.
|
||
ignoreSSLErrors
|
false
|
Specifies whether SSL errors should be ignored. This value should not be set to true in a production environment.
|
Setting
|
Default
|
Description
|
---|---|---|
minPoolSize
|
4
|
Minimum number of threads allocated to an event processing pool.
|
maxPoolSize
|
10
|
Maximum number of threads allocated to an event processing pool.
|
maxThreadLife
|
10000
|
Maximum response wait time for a thread.
|
maxQueueSize
|
1000
|
Maximum queue entries before adding a new working thread.
|
Setting
|
Default
|
Description
|
---|---|---|
host
|
N/A
|
The name of the proxy host.
|
port
|
N/A
|
The port number of the proxy host.
|
User
|
N/A
|
The user name of the proxy host.
|
Pass
|
N/A
|
The password of the proxy host.
|
Setting
|
Default
|
Description
|
---|---|---|
verbose
|
false
|
Specifies whether Java handshake protocol will output verbose messages. If true, then Java system property javax.net.debug is set to ssl:handshake:verbose.
|
Keystore
|
Specifies the SSL keystore settings in JSON format.
|
|
Truststore
|
Specifies the SSL truststore settings in JSON format.
|
Setting
|
Description
|
---|---|
path
|
Specifies the path to the SSL keystore file. Using this setting is equivalent to setting the Java system property javax.net.ssl.keyStore.
|
password
|
Specifies the password for to the SSL keystore file. Using this setting is equivalent to setting the Java system property javax.net.ssl.keyStorePassword. To avoid storing the password as plain text, use the value encrypt.keystore.password. See the Encrypting Password Settings section below.
|
Setting
|
Description
|
---|---|
path
|
Specifies the path to the SSL truststore file. Using this setting is equivalent to setting the Java system property javax.net.ssl.trustStore.
|
password
|
Specifies the password for to the SSL truststore file. Using this setting is equivalent to setting the Java system property javax.net.ssl.trustStorePassword. To avoid storing the password as plain text, use the value encrypt.truststore.password. See the Encrypting Password Settings section below.
|
Setting
|
Default
|
Description
|
---|---|---|
MaximumRetries
|
2
|
Specifies the number of times to retry a request after it has failed due to system availability.
In the case of HTTP requests, retries occur with a 503 response from the server.
|
RetryDelay
|
1000
|
When a request fails but can be retried, RetryDelay represents how long (in milliseconds) to wait before attempting to retry. RetryDelay will be used in conjunction with BackoffMultiplier when determining subsequent retries.
|
BackoffMultiplier
|
1
|
Specifies for how long to multiply the RetryDelay on subsequent retries. For example, if the BackoffMultiplier was set to2 and MaximumRetries was set to 3, the first retry would occur at 1 second; the second retry would occur 2 seconds after the first; the third would occur 4 seconds after and so on.
|
UnauthorizedRetries
|
2
|
Specifies the number of times to retry a request that failed due to an unauthorized request. This setting applies to an HTTP request with a 401 response from the server.
|
Setting
|
Default
|
Description
|
---|---|---|
MaximumRedirects
|
3
|
Specifies the number of times to retry a redirect.
|
EnableRedirect
|
true
|
Specifies if redirect is enabled for requests resulting in a redirect status code 3xx.
|
|
You can store the encrypted configuration file anywhere. Just make sure that the encryption configuration file and the environment variables point to the correct path.
|
|
The content of the integrationRuntime-settings.json.decrypted should match the content of the original integrationRuntime-settings.json file.
|
|
Remove the unencrypted versions of the file.
|
ThingWorx Configuration
|
Integration Runtime Settings
|
---|---|
ThingWorx is not configured for SSL
|
Specify thingworxUri using a Java system property and use ws protocol or specify sslEnable=false in SSL settings.
|
ThingWorx is configured for SSL using self-signed certificate
|
Specify sslEnable=true and ignoreSSLErrors=true in SSL settings.
|
ThingWorx is configured for SSL with a self-signed certificate and the certificate is trusted.
ThingWorx is configured for SSL with a certificate signed by a Certificate Authority (CA), and it was not configured to provide the entire CA Certificate Chain.
|
Export the certificate from the keystore file and import it to a truststore file.
Specify enable=true and Trustore in SSL settings.
Truststore password may be encrypted.
Alternatively, add the certificate to the Integration Runtime JVM default truststore (usually located here:$JAVA_HOME/lib/security/cacerts). In this case, it is not necessary to explicitly specify Truststore in SSL settings.
|
ThingWorx is configured for SSL with a certificate signed by a Certificate Authority (CA), and it was configured to provide the entire CA Certificate Chain.
|
Specify enable=true in SSL settings. This is the default setting.
|
Setting
|
Default
|
Description
|
---|---|---|
logs.dir
|
Specifies the location where log files will be generated. The default is the current working directory.
|
|
logs.maxFileSize
|
5MB
|
Specifies the maximum log file size that triggers a rollover to a new log file.
|
logs.maxIndex
|
9
|
Specifies the maximum index of the fixed size rollover window. The initial index starts at 1.
|
logs.timestampPattern
|
yyyy-dd-MM HH:mm:ss.SSS
|
Specifies the timestamp pattern to use for each log event.
|
logs.uniqueId
|
<processId>
|
Specifies a value that is appended to the log file name. This is used to generate unique file names. The default value is obtained via a Java callback to return the JVM's process ID.
|