You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

Configuration

In order to enable this component, the following profile has to be enabled: external-flow. The below example illustrates how the bootstrap.properties file should look like:


bootstrap.properties
spring.profiles.active=native,...,external-flow

The file application-external-flow.properties must be available and should be configured as follows: 

SubjectPropertyDefaultExplanationProperty fileAdditional information
External Flow Component

blueriq.external-flow.store-type

memoryThe data store type, having two possible values: memory and redis. memory is the default one.

application-external-flow.properties



blueriq.external-flow.redis-store.database0The Database index used by the connection factory.

application-external-flow.properties



blueriq.external-flow.redis-store.hostlocalhostThe REQUIRED DNS name or IP address of the Redis server.

application-external-flow.properties



blueriq.external-flow.redis-store.port6379

The REQUIRED port on which to connect to Redis.

application-external-flow.properties



blueriq.external-flow.redis-store.ssl.enabledfalseWhether to enable SSL support

application-external-flow.properties



blueriq.external-flow.redis-store.password
The password used to connect to Redis, can be left empty if no password is required.

application-external-flow.properties



blueriq.external-flow.redis-store.timeout2000Timeoud (ms) for connect and read operations

application-external-flow.properties



blueriq.external-flow.redis-store.client-name
Client name to be set on connections. Can be left empty.

application-external-flow.properties


Redis connection pool configurationblueriq.external-flow.redis-store.jedis.pool.maxIdle8Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.jedis.pool.minIdle0Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if it is positive.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.jedis.pool.maxActive8Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.jedis.pool.maxWait-1Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.jedis.pool.timeBetweenEvictionRuns

Time between runs of the idle object evictor thread. When positive, the idle object evictor thread starts, otherwise no idle object eviction is performed.

Can be left empty.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.pool-test-on-createfalse

Whether to test the connection after creation.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.pool-test-on-borrowfalse

Whether to test the connection before it is borrowed from the pool.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.pool-test-on-returnfalse

Whether to test the connection when it is returned to the pool after use.

application-external-flow.properties

Since 15.10

blueriq.external-flow.redis-store.jedis.pool.maxIdle8Maximum number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections.

application-external-flow.properties

Removed in 15.10

blueriq.external-flow.redis-store.jedis.pool.minIdle0Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if it is positive.

application-external-flow.properties

Removed in 15.10

blueriq.external-flow.redis-store.jedis.pool.maxActive8Maximum number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.

application-external-flow.properties

Removed in 15.10

blueriq.external-flow.redis-store.jedis.pool.maxWait-1Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely.

application-external-flow.properties

Removed in 15.10

blueriq.external-flow.redis-store.jedis.pool.timeBetweenEvictionRuns

Time between runs of the idle object evictor thread. When positive, the idle object evictor thread starts, otherwise no idle object eviction is performed.

Can be left empty.

application-external-flow.properties

Removed in 15.10

Example configuration file : 

application-external-flow.properties
# The data store type, having two possible values: memory and redis. memory is the default one.
blueriq.external-flow.store-type=redis 

# The Database index used by the connection factory.
blueriq.external-flow.redis-store.database=0
# The REQUIRED DNS name or IP address of the Redis server.
blueriq.external-flow.redis-store.host=
# The password used to connect to Redis, can be left empty if no password is required. 
blueriq.external-flow.redis-store.password=
# The REQUIRED port on which to connect to Redis.
blueriq.external-flow.redis-store.port=
### Pool configuration ###
# Maximum number of "idle" connections in the pool. 
# Use a negative value to indicate an unlimited number of idle connections.
blueriq.external-flow.redis-store.jedis.pool.maxIdle=8
# Target for the minimum number of idle connections to maintain in the pool. 
# This setting only has an effect if it is positive.
blueriq.external-flow.redis-store.jedis.pool.minIdle=0
# Maximum number of connections that can be allocated by the pool at a given time. 
# Use a negative value for no limit.
blueriq.external-flow.redis-store.jedis.pool.maxActive=8
# Maximum amount of time a connection allocation should block before throwing an exception when the pool is exhausted. 
# Use a negative value to block indefinitely.
blueriq.external-flow.redis-store.jedis.pool.maxWait=-1

If the data store type is not specified, the memory store will be used.
Please note that using a memory store type will make it impossible for you to start an external flow that resides on a different Runtime.
The other blueriq.external-flow.redis-store*  properties will be ignored in this case.

If redis data store is used and the properties for configuring the host and/or the port are missing, the Runtime will not start.

2 Comments

  1. For the classroom environment Frank van der Vaart and I tried to set the store-type on memory. Doing this explicitely gave us an error because a bean externalFlowConfig could not be found. By commenting out that line (line 2 in the example) we did get the default setting working. Anybody any idea how this could happen?

    1. Are you sure the configuration was right? If I try the setting "blueriq.external-flow.store-type=memory" it works in the latest Blueriq version (15.11). If I change it with a type-o (for example a trailing space I get the error you're describing.