Settings Properties

The settings.properties file is provided as part of your 1Integrate package and can be edited to configure some of the functionality of your 1Integrate installation.

Required

Property

Type

Description

repository.driver

string

The database type. Defaults to a H2 database, but Oracle, SQLserver or PostGresql are also supported.

Define using the values: h2, oracle, sqlserver or postgresql.

      Note: Do not use the default H2 database in production environments. See the other database options for recommended repository servers.

repository.url

string

The URL for the database in which to store 1Integrate metadata and entities (Rules, Actions, Sessions and so on), and files that are uploaded to the server used by the data store (such as MapInfo Tab files).

By default, his will be populated by the H2 database details.

For other supported databases the format is:

  • For Oracle: jdbc:oracle:thin:@[HOSTNAME]:[PORT]/[Service]Orjdbc:oracle:thin:@[HOSTNAME]:[PORT]:[SID]

  • For MS SQL: jdbc:sqlserver://[serverName[\\instanceName][:portNumber]];databaseName=1Integrate

    For MS SQL with Windows Authentication: repository.url=jdbc:sqlserver://[serverName[\\instanceName][:portNumber]];integratedSecurity=true;databaseName=1Integrate

          Note: You must define either a serverName or instanceName. See Microsoft documentation for further guidance.

  • For PostgreSQL:

          Note: You will only need to specify a port if you are not using the default.

    • To use the public schema to store the repository:

      jdbc:postgresql://[HOSTNAME]:[PORT(if non-default)]/[DATABASE]

    • To use a specified schema to store the repository:

      jdbc:postgresql://[HOSTNAME]:[PORT(if non-default)]/[DATABASE]?currentSchema=[REPOSITORYSCHEMA]

repository.username

string

Username to connect to the repository schema, in which to store 1Integrate metadata and entities (e.g. Rules, Actions, Sessions) as well as files that are uploaded to the server used by the data store (e.g. MapInfo Tab files).

repository.password

string

Password for the user described by repository.username.

ls_license

string

The location and name of the provided product licence file.

temp.directory

string

This is a temporary folder location for files that are eventually stored in the database.

cache.directory

string

The location of the cache directory.

When a Session is run, a folder is created called "1Integratecache", within which the cache is stored.

      Note: This stores the data cache from data read by 1Integrate . This may require large amounts of disk space depending on the size of data being read into Sessions and the number of concurrent Sessions.

      Note: Multiple engines need to share the same cache location to allow a paused Session to be picked up and continued/rewound without restarting it.

For Linux, if left blank this will default to /tmp.

For Windows, if left blank this will default to C:\Users\[user]\AppData\Local\Temp.

      Note: It is recommended that you change the default cache.directory to a different location to avoid your cache being unexpectedly cleared by the system.

interface.http.port

integer

The port to use for the interface.

      Note: If possible, use the default port number specified in the file. If there is a clash with another application that already uses this port number, increment the value by 1 until an unused port number is found.

engine.http.port

integer

The port to use for the engine.

      Note: If possible, use the default port number specified in the file. If there is a clash with another application that already uses this port number, increment the value by 1 until an unused port number is found.

Configuration

Property

Type

Description

retry.count

integer

Configure the number of times 1Integrate will retry failed interactions with repository folders. Such failures can occur due to failed cache syncing under intense load, for example.

Defaults to 3.

file.storage.type

enum

Define where to store file-based Data Store data.

Must be either 'repository' or 'disk'. Defaults to 'repository'.

file.storage.
location

string

If your file.storage.type has been set to disc, use the file.storage.location to define where to store the file data.

integrate.extension.
dir

string

Define the folder to load 1Integrate extension JAR files from (Data Stores, Built-ins, etc).

loginBanner

string

You can configure the log in screen for 1Integrate to feature a custom Login Banner Configuration.

Enter a file path to a HTML document you have defined.

      Example: loginBanner=C:/Apps/1Spatial/1Integrate/Banner%20Folder/Heading_Banner.html

      Note: The HTML file must be accessible by each Interface server.

1Spatial.
DatabaseBatchSize

integer

Set the default number of features in a transaction.

pg.largeobject.size

integer

Only necessary when file.storage.type is set to repository and the repository is PostgreSQL. This is the threshold for writing file data to the repository with PostgreSQL Large Object Manager. Default value is 1gb.

skip.validation.
attribute.parameters

string

In the event you have multiple Data Stores utilising the same classes and attributes. 1Integrate will check that certain attributes match.

By default validation will fail if there are differences in the following attributes:

  • length

  • scale

  • precision

Set to true to skip this validation.

 

integrate.log.level

enum

Used to configure Logging Levels which control the levels of detail available in 1Integrate log files.

jta.timeout

integer

Repository Transaction Timeouts are used to abort stuck database updates.

The transaction timeout value can be tuned on your production environment to ensure you don't hit false transaction rollbacks, caused by transactions aborting too soon.

repository.connection_pool.min

integer

The minimum number of connections to create for the repository database connection pool. Defaults to 0.

repository.connection_pool.max

integer

The maximum number of connections to create for the repository database connection pool. More available connections in the pool will allow 1Integrate to handle more simultaneous user requests. (Ensure your database can handle the given number of simultaneous open connections). Defaults to 20.

repository.
validation

boolean

Enabled by default, set to FALSE to turn off.

Repository validation checks each repository connection in your pool and will attempt to re-establish broken connections. This will enable the application to recover from network connectivity issues or a repository restart without performing a full 1Integrate restart.

repository.
validation.millis

long

Set the time, in milliseconds, between repository validation checks. Default to 10000.

      Note: When changing the setting it is important that you find the right balance between network load on the repository database and the delay on re-establishing the connection.

A smaller number will recover the connection more rapidly (fewer errors will be seen), but increase the network load on the database. A larger number will take longer to recover the connection (more errors will be seen), but will reduce the network load on the database.

max.errors

integer

Set the maximum number of object errors encountered before a Session is paused. Defaults to 4000.

Security

Property

Type

Description

sso.authentication.
enabled

boolean

Set to true to enable SSO authentication.

cors.enabled

boolean

Set Enabling Cross Origin Resource Sharing to true if you are going to be accessing 1Integrate from a web-based application.

cors.allowed.origins

string

The location of the web-based application accessing 1Integrate.

The Enabling Cross Origin Resource Sharing page has further information on format and examples.

encryption.key

string

Set to configure AES with custom key.1

filebomb.threshold

integer

Zip bomb threshold is enabled by default to prevent the uploading of heavily compressed archives to avoid these files destabilising the server. Edit this to allow uploading heavily compressed archives, with a compressed/uncompressed ratio of greater than 1:100. The default value is 0.01.”

reverse.proxy.
enabled

boolean

Set to true to let 1Integrate know a proxy is in use. See 1Integrate and Reverse Proxies.

tls.keystore.
filename

string

The name of the keystore file (including the extension) you have placed in your SETTINGS directory.1

tls.keystore.
password

string

The password for the keystore you have placed in your SETTINGS directory.1

tls.keystore.type

enum

Your keystore type: PKCS12 or JKS.1

tls.key.alias

string

The unique identifier for the key you will be using.1

tls.key.password

string

The password for the key you will use in the Keystore.1

http.enabled

boolean

Set to false to disable the unsecure HTTP listener. 1

https.enabled

boolean

Set to true to enable the HTTPS listener. 1

jboss.bind.address

string

The address that 1Integrate should listen on, this should match the common name protected by your certificate.1

interface.https.port

int

Change the secure HTTPS port, defaults to 8443.1

cookie.secure

boolean

This enables the secure attribute on 1Integrate cookies.

The attribute instructs the browser to only send cookies when the request is an HTTPS one, thus cookies will not be included on HTTP requests.

      Note: Cookies are only used when OIDC Auth is enabled.

wildfly.security.log.level

enum

Used to configure the level of detail available in Security log files.

The following levels are supported, from highest detail to lowest:

  • ERROR (Default)

  • WARN

  • INFO

  • DEBUG

  • TRACE

      Note: Setting a higher level will automatically set all levels under it.

ldap.authentication.
enabled

boolean

Set to true to enable LDAP authentication.2

ldap.host

string

The hostname for the LDAP server.2

ldap.principal

string

The principal (username) used for authentication with the LDAP server.2

ldap.credential

string

The credential (password) used for authentication with the LDAP server.2

ldap.username.
attribute

string

The LDAP attribute to be used for 1Integrate login names e.g. samAccountName.2

ldap.userbase.dn

string

The LDAP search root for users.

ldap.group.attribute

string

The group name attribute to be used from your LDAP server e.g. samAccountName.

ldap.group.base.dn

string

The LDAP search root for groups.2

ldap.protocol

enum

The protocol the connection will use (ldap or ldaps).2

ldap.port

integer

The port number for your LDAP.2

ldap.referral.mode

enum

Set to FOLLOW if you have multiple LDAP servers that refer to each other.2

ldap.direct.
verification

boolean

Set to FALSE if 1Integrate should query the users password out of the LDAP server for user credential verification.2

      Note: For most installations direct verification will be sufficient.

ldap.recursive.
search

boolean

Recursive search will search through nested groups. If this setting is unnecessary for your environment, setting to false may improve performance.2

ldap.group.member.
attribute

string

The attribute on the group object that contains the members of that group.2

ldap.authentication.
level

enum

Set to none if you want to bind to the LDAP server anonymously.2

      Note: For security we would recommend all connections are authenticated.

authentication.
oidc.provider_url

string

The URL for your OIDC provider. 3

      Note: Only the Keycloak OIDC provider is supported.

      Note: If you set authentication.oidc.provider_url to the wrong provider or to an invalid URL, 1Integrate will still start but users will see a Forbidden page

authentication.
oidc.ssl_required

enum

Set to have the OpenID provider communicate over HTTPS.3 Valid options are:

  • "all" - Always require HTTPS

  • "external" - Only require HTTPS with external requests

  • "none"- HTTPS is not required

      Note: This option defaults to "external". It is recommended that you set to "all" in production environments.

authentication.oidc.
principal_attribute

string

Set the claim value from the ID token. This will be used as the principal for the identity.

Defaults to preferred_username.3

authentication.
oidc.client_id

string

The Client ID. This value will need to match the Cient ID in your OIDC Provider.

Defaults to 1integrate.3

authentication.
oidc.public_client

boolean

Default to true, where client credentials are not sent when communicating with the OpenID provider.3

authentication.saml.keystore_path

string

The key store containing your private key and signing certificate. Must be placed in the SETTINGS folder. It must be called saml.keystore and be of type JKS.

Alternatively, you can override the default location of the keystore by setting authentication.saml.keystore_path to reference a different location.

1 For more information please refer to Security Settings.
2 For more information please refer to Configuring Users and Permissions.
3 For more information please refer to OIDC Authentication

Data stores

Property

Type

Description

datastore.arcgis.write.batch_size

integer

Defaults to 100.

The number of features to write to an ESRI ArcGIS Service per batch.

This affects both Commit and Copy To Tasks.

datastore.jdbc.
batch.size

integer

The number of rows to retrieve from the Data Store in each query.

Lower values will use less memory, but will take longer to retrieve all the features. Higher values will be faster, but use more memory.

datastore.destination_file.zip64

boolean

Defaults to false which has a 4GB Zip file size limit.

If set to true then all Data Store output files will be zipped using Zip64, meaning files lager than 4GB can be created.

nonconformance.read.
batch.size

integer

The number of nonconformances to retrieve at a time.

Lower values will use less memory, but will take longer to retrieve all the features. Higher values will be faster, but use more memory.

wfs.max.retries

integer

The maximum number of retries to make when querying features and being rate limited.

wfs.retry.sleep

integer

The sleep (wait time) between each of the above retries when being rate limited.

Sessions

Property

Type

Description

db.retry.count

integer

Set how many times to retry when attempting to change the Session state (i.e. from paused to running). Defaults to 10.

db.retry.delay

long

Set how long to delay between Session state retries.

node.queue.delay

long

Set how often to submit Sessions to Engines. Used in conjunction with Engine Labels.

node.queue.timeout

long

The maximum timeout for a Session to wait for a valid engine. Used in conjunction with Engine Labels.

buildtopology.retry

integer

The number of attempts to take to build a topology. Defaults to 1.

Built-ins

Property

Type

Description

httpRequest.max.
retries

integer

The maximum number of retries to make when using the httpRequest Built-in functions. Defaults to max integer value (2,147,483,647).1

httpRequest.retry.
sleep

integer

The sleep (wait time) between the above retries. Defaults to 5000ms.

placekey.max.

retries

integer

The maximum number of retries to make when using the placekey Built-in functions. Defaults to max integer value (2,147,483,647)

placekey.retry.
sleep

integer

The sleep (wait time) between each of the above retries when being rate limited. Defaults to 5000ms.1

1See Built-in Functions for more.

MS Office 365

Property

Type

Description

office.365.webhook.
url

string

The webhook URL provide by Office 365.1

office.365.webhook.
notify.paused

boolean

Optionally set to true to receive a notification when a session is paused.1

office.365.webhook.
notify.errored

boolean

Optionally set to true to receive a notification when a session errors.1

office.365.webhook.
notify.running

boolean

Optionally set to true to receive a notification when a session is running.1

office.365.webhook.
notify.finished

boolean

Optionally set to true to receive a notification when a session has finished.1.

office.365.webhook.
notify.stopped

boolean

Optionally set to true to receive a notification when a session has stopped.1

base.url

string

The 1Integrate URL for building the Teams card.

1See Office 365 Webhook Configuration for more.