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 file
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


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


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


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


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


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

Whether to test the connection after creation.

application-external-flow.properties


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


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

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.