Execution Context Properties

This section describes the different properties that you can use in the STR to configure ECs.

Aggregation Properties

You can set the properties listed in the Advanced tab of the Aggregation profile in the STR. This will override the values that are set in the profile, including default values. 

The following properties are applicable when using file storage for aggregation.

PropertyDescription

mz.aggregation.storage.maxneedssync

Default value: 5000

This property defines when updated aggregation sessions shall be moved from the cache to the file system. When the number of cached aggregation sessions reaches this value, the sessions are written to disk.

This property shall be set to a value lower than "Max Cached Sessions", configured in the Aggregation agent. If the property is set to a higher value, the used value will be "Max Cached Sessions" minus 1. For example, if "Max Cached Sessions" is "6000" and this property is set to "6500", the value "5999" will be used instead.

For performance reasons, this property should be given a reasonably high value, but consider the risk of a server restart. If this happens, the cached data might be lost.

mz.aggregation.storage.profile_session_cache

Default value: false

This property is used to speed up the start of workflows that run locally (on the EC). Set the property to true to keep the aggregation cache in memory for up to 10 minutes after a workflow has stopped.

mz.aggregation.timeout.threads

Default value: 0

This property is used to enable Multithreading in Aggregation workflows, that is, to use a thread pool for the timeout function block in the Aggregation agent. Use a value larger than 0, for example, 4 to use four threads in the thread pool.

For more information about how to use these properties to tune the performance of the Aggregation agent, see Aggregation Agent in the Desktop User's Guide.

EC Web Interface Properties

PropertyDescription

ec.webserver.enabled

Default value: true

This property specifies if the Web Interface for ECs should be active.

ec.webserver.host

Default value: Taken from the value of the common property pico.rcp.server.host .

This property specifies the host used to communicate with an EC Web Interface. Set it to 0.0.0.0 to bind all addresses on the currently used host. This is done to access the Web Interface by both virtual and logical IP addresses or hostnames.

ec.webserver.port

Default value: 9090

This property specifies the TCP port of the EC Web Interface.

Note!

Each EC that is located in the same container must have a unique port.

mz.wi.cross-origin.allowedOrigins

Default value: "*"

This property allows you to use RESTful Web Services across different origins. The possible value is a comma-separated list of the hosts:ports that are permitted to use the RESTful Web Services, e.g. 192.168.170.12:6790,10.46.9.26:9000

Couchbase Properties

PropertyDescription
mz.cb.statistics.flush.period.in.seconds

Default value: 60

If you have enabled the log-to-file functionality in the Advanced tab of the Couchbase profile, you can determine how often in seconds you want to flush this file by modifying the value.

Database Properties

PropertyDescription
max.cached.prepared.statements

Default value: 15

If you want to change the number of preparedStatements that are cached between connections, you can use this property to specify a different number than the default.

Note!

If you are using SAP HANA as a database type in a Database profile, used by Database agents, this value has to be set to 0.

connectionpool.strict.pool.size
 Default value: false

If you enable this property, the database pool enables the Blocking Queue implementation where there is a strict restriction to the maximum number of connections.

Note!

When the property is set to false, then the database connection pool will create additional temporary connections. When the pool is full, these connections are closed as soon as the workflow thread returns the connection to the pool.

This property is general for all supported databases. It is enabled per each EC separately. If enabled the connection pool for the particular EC have a strict maximum limit. The maximum limit can be set in the Database profile agents Properties tab. For more information on this tab, refer to the Database Profile.

connectionpool.wait.timeout.milliseconds

Default value: 5000

Note!

This property can only be used if the connectionpool.strict.pool.size property is set to true.

This property is used to configure the amount of time a thread should remain in the  blocked queue until it tries for a new connection. If a connection is made available before this time, the thread's waiting time is interrupted.

Diameter Properties

PropertyDescription

mz.diameter.tls.accept_all

Default value: false

If the property is set to false (default), the Diameter Stack agent does not accept any non-trusted certificates. If it is set to true, the Diameter Stack agent accepts any certificate. In either case any unrecognized certificate will be logged in an entry in the System Log (in PEM format).

mz.workflow.decoderqueue.max_threads

Default value: 10

This property specifies the maximum number of threads used by the Diameter Stack agent for decoding messages. Setting a lower value than the default may enhance performance if the host machine has a low number of CPU cores and the active workflows are complex. On the other hand, the decoding may constitute a bottleneck when performing simple processing on a host machine with a high number of CPU cores. In this case, setting a higher value may provide better performance.

ECS Properties

PropertyDescription

mz.ecs.bulk.transfer.size

Default value: 10485760

This property defines the maximum size (in Bytes) of a bulk transfer for the ECS collection agent.

FTP/DX200 Properties

PropertyDescription

mz.dx200.acceptsequentiallost

Default value: ""

The default behaviour for the FTP/DX200 collection agent is to skip files if the sequential order of the files has been lost. Add this property and set it to true if you want to continue collecting files even if the sequential order has been lost.

mz.dx200.acceptoverwritten

Default value: ""

The default behaviour for the FTP/DX200 collection agent is to not collect files that have been in FULL state before being set to OPEN, and untransferred data has been overwritten. Add this property and set it to true if you want to collect files that have been overwritten.

Proxy Properties

Property

Description

http.proxyHost

The proxy host that routes HTTP traffic

http.proxyPort

The proxy port for routing HTTP traffic. Default value: 80

http.proxyUser

The username, if Basic Authentication is required for proxy handling HTTP traffic

http.proxyPassword

The password, if Basic authentication is required for proxy handling HTTP traffic. The password can be plain-text or encrypted using the mzsh encryptpassword <password> command.

https.proxyHost

The proxy host that routes HTTPS traffic

https.proxyPort

The proxy port for routing HTTPS traffic. Default value: 443

https.proxyUser

The username, if Basic Authentication is required for proxy handling HTTPS traffic

https.proxyPassword

The password, if Basic authentication is required for proxy handling HTTPS traffic. The password can be plain-text or encrypted using the mzsh encryptpassword <password> command.

http.nonProxyHosts

Indicates the hosts that should be accessed without going through the proxy. Typically, this defines internal hosts. The value of this property is a list of hosts, separated by the '|' character. Additionally, the wildcard character '*' can be used for pattern matching.

For example, http.nonProxyHosts="*.foo.com|localhost" will indicate that every host in the http://foo.com domain and the localhost should be accessed directly even when a proxy server is already specified.

Rest Client Properties

Property

Description
rest.client.idleTimeout

Default value: "200s"

This property specifies the time a connection stays idle before it is eligible to be disconnected. If there is no traffic during the specified time, the REST Client agent will remove the session once the timeout is reached.

You can also set this property on the container level, where the value is only applied to all ECs under a particular container. You can refer to Container Properties for more information.

rest.client.max.chunk.size

Default value: "8m"

This property specifies the maximum chunk size of the HTTP response that the REST Client agent should receive from the server. The agent will reject data with sizes that are larger than the value defined by this property.

You can also set this property on the container level, where the value is only applied to all ECs under a particular container. You can refer to Container Properties for more information.

rest.client.max.content.length

Default value: "64m"

This property specifies the maximum length of the HTTP content received by the REST Client agent. The agent will reject content that is longer than the specified value defined by this property. Although it is also possible to set the value of this property to infinite, there will be a possibility that the EC will crash from an out-of-memory error. So do consider setting the memory size of the EC to be higher than the expected size of the HTTP content that the agent will be receiving.

You can also set this property on the container level, where the value is only applied to all ECs under a particular container. You can refer to Container Properties for more information.

Inter Workflow Properties

PropertyDescription

mz.iwf.max_size_block

Default value: ""

By setting this property (in Bytes) on the EC that runs the Inter Workflow storage, it is possible to restrict memory consumption. If the agent wants to allocate more memory than the given property value during collection, the collection will abort instead of suffering a possible "out of memory".

Note that the minimum value is 32000 bytes, and even if a lower value is configured, 32000 will be used.

Table Lookup Service Properties

PropertyDescription

mz.inmemory_table.table_strategy

Default value: Object

This property defines how shared tables are kept in memory. The possible values are:

Object - The shared tables are stored as Java objects on the JVM heap. If this value is chosen the mz.inmemory_table.index_strategy property will have no effect.

On-heap - The shared tables are stored in a compact format on the JVM heap.

Unsafe - The shared tables are stored in a compact format outside the JVM heap. The API java.misc.Unsafe is used for the format and is only supported on Oracles JVM.

mz.inmemory_table.index_strategy

Default value: Object

This property defines how the index for shared tables are kept in memory. The possible values are:

Object - The index is stored as Java objects on the JVM heap.

Pointer - The index is stored as pointers to the table data.

mz.inmemory_table.fixed_width

Default value: true

This property defines if the varchar data fields are stored with a fixed or variable width. The possible values are:

true - The varchar data fields will have a fixed width.

false - The varchar data fields will have a variable width which will reduce the memory usage for large columns.

Additional Properties

PropertyDescription

ec.backlog.dir

Default value: $MZ_HOME/tmp

This property is applicable for ECs and determines whether you want events and error messages occurring when the contact is lost to be logged in a backlog or not. If the property is not present, events and messages will not be logged. The value of this property specifies where the backlog resides.

ec.excel.dateformat

Default value: "dd/MM/yyyy"

This property will define the format of the date to be decoded for the ExcelCellUDR. For the date to be parsed successfully, you will have to provide the format of the date received by the ExcelCellUDR. The values in this property conforms to the standards of the SimpleDateFormat java class. If the date is not parsed successfully, the data type of the date field will be treated as a string.

ec.shutdown.time

Default value: 60000

This property specifies the maximum time (in milliseconds) the EC will wait before a real-time workflow stops after a shutdown has been initiated. This is to enable the workflow to stop all input and drain all UDRs in the workflow before shutting down.

The wait time is initially set to 60 seconds. If this value is set to 0 all draining is ignored and the workflow will stop immediately.

pico.bootstrapclass

Default value: ""

This property specifies the bootstrap classes that are required by some components.

pico.ec.do_graceful_shutdown

Default value: true

This property determines the behavior of the mzsh command shutdown. When you have set the value of this property to false and run the command, it will cause ECs to shut down without forcing the workflows to stop first.

pico.rcp.server.port

Default value: ""

This property specifies the port that is used for EC to EC communication. If no port is set, a dynamic port will be used and the port number will change each time an EC is restarted. 

mz.use.drdateformat

Default value: true

The date syntax used in the APL functions dateToString and strToDate conforms to the Java class SimpleDateFormat in Java 6.

Even though the syntax conforms to SimpleDateFormat, it is not directly based on this class.

You can enable date format handling based on the SimpleDateFormat class in the installed Java version by setting this property to false. This enables use of additional patterns that are available in the installed Java version. For more information about the functions dateToString and strToDate, see the APL Reference Guide.

mz.use.date.timezone

Default value: false

Setting this property to true will instruct the system to use the attached time zone when SQL input originates from a date object.

In most cases, the property should be set in the pico configuration of ECs. However, in case of audit processing, the property should also be set in the pico configuration of the Platform.

Note that if the mz.use.date.timezone property is used for setting dates with another time zone, there will be no way of keeping track of the actual time zone in the database, and you may have to manually convert the date during selection. To keep track of the time zone in an Oracle database, use the data type TIMESTAMP WITH TIME ZONE.

pico.type

Default value: ""

This property specifies the type of pico instance used for the EC. The possible values are EC and SC.