About configuring Grid for Infor Process Automation
Some Infor Process Automation configuration properties are set in the Infor Process Automation (IPA) section of Grid properties. For general information about how to access and use Grid, refer to the Grid administration section of the document Infor Landmark Technology Server Setup and Maintenance Guide which is available in the Landmark help.
General properties
The following properties are for specifying .jar files to be added to the classpath and data areas to be used for process execution.
| Parameter | Description |
|---|---|
| grid.app.classpath |
Copy any external .jar files, for example, JDBC, that you want to use in a process to this location:
|
| grid.app.dataareas |
Specify the data area for the IPA to use. It is recommended that each IPA grid node be assigned to only one data area, so that each grid node can have its resources adjusted to the needs of that data area. Example:
|
Polling frequency properties (general)
The properties in this section control the frequency with which IPA polls for such things as work escalation, reminders, and for new workunits.
| Parameter | Description |
|---|---|
| pfi.escalator.pollingFrequency |
Polling frequency, in minutes, for IPA to look for work escalation and reminders messages for Inbasket. Default = 30 minutes |
| pfi.workunit.pollingFrequency |
Polling frequency, in minutes, for workunits needing processing. Default = 30 minutes |
Connection pooling properties for Infor Lawson
Separate connection pools are maintained for each "data source", which is a combination of Infor Lawson host and Infor Lawson port. This means each "Infor Lawson server" has its own connection pool.
Enabling connection pooling can significantly improve the performance of processes with multiple nodes that connect to Infor Lawson applications. Within each connection pool, subpools are created for each user + Infor Lawson program, which prevents an unused connection for a user to be reused by a different user or a different Infor Lawson program.
Requests to borrow a connection from the pool will be honored as long as the subpool for the user + Infor Lawson program has not reached the limit of active connections (pfi.pooling.s3MaxActiveConnections).
If the limit is reached, pfi.pooling.s3MaxConnectionWaitSec determines if a failure happens immediately, a wait happens for a period of time then fails, or an indefinite wait happens.
When a connection is returned to the pool, if the limit for idle connections has been reached then the connection is closed, otherwise it goes to the pool. An "eviction" process can be configured (pfi.pooling.s3TimeBetweenEvictionRunsSec) which will scan for unused connections that can be removed. Any connection that has been in the pool for 30+ mins (currently not configurable) will be closed.
Validation of unused connections can be performed before the pool hands out a connection. If a connection is "invalid", it is removed and a new connection is created before being handed out by the pool.
Connection validation for Infor Lawson pooling properties
When connection validation is enabled, unused connections in the pool are first validated before being given out. An invalid connection will be closed and a new connection created before it is handed out.
The Infor Lawson server has a configuration option that automatically closes any idle connections. The default is 10 minutes. Care should be taken to configure this correctly in relation to the Infor Lawson connection pool setup.
| Parameter | Description |
|---|---|
| pfi.pooling.s3UsePooledConnections |
Enables or disables Infor Lawson connection pooling Default = false |
| pfi.pooling.s3MaxTotalConnections |
Maximum number of active connections for ALL users + Infor Lawson programs. A negative number means no limit. Default = -1 |
| pfi.pooling.s3MaxActiveConnections |
Maximum number of active connections for a user + Infor Lawson program. A negative number means no limit. Default = 10 |
| pfi.pooling.s3MaxIdleConnections |
Max number of idle connections for a user + Infor Lawson program. A negative number means no limit. The pool will have at least this many connections for the user + Infor Lawson program.
Note:
Zero (0) means all returned connections are closed which results in no pooling. Default = 2 |
| pfi.pooling.s3MaxConnectionWaitSec |
Time (seconds) to wait for an available connection, if pool is full for the user + Infor Lawson program. Options are:
Default = 300 |
| pfi.pooling.s3TimeBetweenEvictionRunsSec |
Determines how often the eviction process is run. (It should be configured to run infrequently.) -1 turns off the eviction process. When enabled, connections idle for the configured duration are closed. Default = 900 |
| pfi.pooling.s3EnableConnectionValidation |
Enables or disables the verification of connections. Default = false |
| pfi.pooling.s3ValidationQuery |
Defines a query used to verify that the S3 connection is still valid. Defaults to a lightweight query that can be used for verification.
|
| pfi.pooling.s3ValidationTimeSec |
Determines how often the validation is performed, instead of every time the connection is used. If 300 is specified, the connection validation is performed at least after 5 minutes when the connection is being used. This is specific to each connection. Default = 0 If the specified validation time is 0, validation occurs every time a connection is used. |
Connection pooling properties for Infor M3
Separate connection pools are maintained for each "data source", which is a combination of M3 host and M3 port. This means each "M3 server" has its own connection pool.
Within each connection pool, subpools are created for each user + M3 program, which prevents an unused connection for a user to be reused by a different user or a different M3 program.
Requests to borrow a connection from the pool will be honored as long as the subpool for the user + M3 program has not reached the limit of active connections (pfi.pooling.m3MaxActiveConnections).
If the limit is reached, pfi.pooling.m3MaxConnectionWaitSec determines if a failure happens immediately, a wait happens for a period of time then fails, or an indefinite wait happens.
When a connection is returned to the pool, if the limit for idle connections has been reached then the connection is closed, otherwise it goes to the pool. An "eviction" process can be configured (pfi.pooling.m3TimeBetweenEvictionRunsSec) which will scan for unused connections that can be removed. Any connection that has been in the pool for 30+ mins (currently not configurable) will be closed.
Validation of unused connections can be performed before the pool hands out a connection. If a connection is "invalid", it is removed and a new connection is created before being handed out by the pool.
Connection validation for Infor M3 pooling properties
When connection validation is enabled, unused connections in the pool are first validated before being given out. An invalid connection will be closed and a new connection created before it is handed out.
The M3 server has a configuration option that automatically closes any idle connections. The default is 10 minutes. Care should be taken to configure this correctly in relation to the M3 connection pool setup.
| Parameter | Description |
|---|---|
| pfi.pooling.m3UsePooledConnections |
Enables or disables M3 connection pooling Default = false |
| pfi.pooling.m3MaxTotalConnections |
Maximum number of active connections for ALL users + M3 programs. A negative number means no limit. Default = -1 |
| pfi.pooling.m3MaxActiveConnections |
Maximum number of active connections for a user + M3 program. A negative number means no limit. Default = 10 |
| pfi.pooling.m3MaxIdleConnections |
Max number of idle connections for a user + M3 program. A negative number means no limit. The pool will have at least this many connections for the user + M3 program.
Note:
Zero (0) means all returned connections are closed which results in no pooling. Default = 2 |
| pfi.pooling.m3MaxConnectionWaitSec |
Time (seconds) to wait for an available connection, if pool is full for the user + M3 program. Options are:
Default = 300 |
| pfi.pooling.m3TimeBetweenEvictionRunsSec |
Determines how often the eviction process is run. (It should be configured to run infrequently.) -1 turns off the eviction process. When enabled, connections idle for 30 minutes are closed. Default = -1 |
| pfi.pooling.m3EnableConnectionValidation |
Enables or disables the verification of connections Default = false |
Connection pooling properties for JDBC
Separate connection pools are maintained for each "data source", which is a combination of JDBC Driver Name and JDBC URL. This means each "database" has its own connection pool.
Enabling connection pooling can increase performance of processes that make multiple calls to the same data source. Within each connection pool, subpools are created for each user which prevents an unused connection for one user to be reused by a different user.
Requests to borrow a connection from the pool will be honored as long as the subpool for the user has not reached the limit of active connections (pfi.pooling.jdbcMaxActiveConnections).
If the limit is reached, pfi.pooling.jdbcMaxConnectionWaitSec determines if a failure happens immediately, a wait happens for a period of time then fails, or an indefinite wait happens. When a connection is returned to the pool, if the limit for idle connections has been reached, then the connection is closed, otherwise it goes to the pool.
An "eviction" process can be configured (pfi.pooling.jdbcTimeBetweenEvictionRunsSec) which will scan for unused connections that can be removed. Any connection that has been in the pool for 30+ minutes (currently not configurable) will be closed.
Validation of unused connections can be performed before the pool hands out a connection. If a connection is "invalid," it is removed and a new connection is created before being handed out by the pool.
Connection validation for JDBC
When connection validation is enabled, unused connections in the pool are first validated before being given out. An invalid connection will be closed and a new connection created before it is handed out.
The validation query must be a SQL statement that returns 1 or more rows in order for the JDBC connection to be valid.
Following are pre-defined validation queries setup for the commonly used database systems. They can be overridden by the pfi.polling,jdbcValidationQuery property.
-
SQL Server: select 1
-
MySQL: select 1
-
<default>: select 1
| Parameter | Description |
|---|---|
| pfi.pooling.jdbcUsePooledConnections |
Enables or disables JDBC connection pooling Default = false |
| pfi.pooling.jdbcMaxActiveConnections |
Maximum number of active connections for a user. A negative number means no limit. Default = 10 |
| pfi.pooling.jdbcMaxIdleConnections |
Max number of idle connections for a user. A negative number means no limit. The pool will have at least this many connections for the user.
Note:
Zero (0) means all returned connections are closed which results in no pooling. Default = 2 |
| pfi.pooling.jdbcMaxConnectionWaitSec |
Time (seconds) to wait for an available connection, if pool is full for the user. Options are:
Default = 300 |
| pfi.pooling.jdbcTimeBetweenEvictionRunsSec |
Determines how often the eviction process is run. (It should be configured to run infrequently.) -1 turns off the eviction process. When enabled, connections idle for 30 minutes are closed. Default = -1 |
| pfi.pooling.jdbcEnableConnectionValidation |
Enables or disables the verification of connections Default = false |
| pfi.pooling.jdbcValidationQuery |
Defines the SQL statement that is used to verify a connection. Each JDBC Driver can have it's own validation SQL statement. Format of this property is:
For example: |
Connection pooling properties for File Access using Amazon S3
This table shows the properties you need to add in the configuration properties in the gen data area when setting up an Amazon S3 connection using the File Access configuration:
| Parameter | Description |
|---|---|
| amazonS3.fileSizeLimit.<tenant gen dataarea>.<dataarea> |
File size limit Sets up the single read file size limit per connection (in MB) Default = 500 MB |
| amazonS3.isMultiPartTransferEnabled.<tenant gen dataarea>.<dataarea> |
Multi-part enabled States whether the users are able to transfer files in multiple parts. True/False, Default = false |
| amazonS3.connectionLimit.<tenant gen dataarea>.<dataarea> |
Connection limit Specifies the number of connections allowed for Amazon S3 Default = 1 |
| amazonS3.multiPartThreadsPerConnection.<tenant gen dataarea>.<dataarea> |
Multi-part threads per connection Number of threads per connection for multi-part transfers for the data area Default = 4 |
Special characters encoding
These parameters are to be used with Infor Lawson applications only. Use them to configure special characters that are not enabled by default.
| Parameter | Description |
|---|---|
|
pfi.extraEncodingChars and pfi.extraEncoding |
A set of commonly used special characters are encoded by default for use with Infor Lawson applications. A list of these characters is in developer documentation and in the Infor Process Designer online help. If you need characters other than those that are encoded by default, you can configure them through the Grid properties pfi.extraEncodingChar and pfi.extraEncoding. pfi.extraEncodingChar is where you configure the character you want to use. pfi.extraEncoding is where you configure what will be sent for the character. Example: To display the following letters with diacritics, specify the following:
where "ä,ë,ï" are the characters you want to display and "%E4,%EB,%EF" is what you will send to represent these characters. |
Custom Activity node properties
This table shows the properties that only applies if you use the Custom Activity node:
| Parameter | Description |
|---|---|
| pfi.customActivity.beans |
Class names for .jar files needed for custom activities. List them in this property separated by commas or semicolons. IPA must be stopped and restarted in order for these activities to be available. |
| pfi.customActivity.beansToRunSeparate |
It is a good idea to isolate custom adapters in a separate process to ensure that they do not interfere with IPA general operation. This true / false flag indicates that custom adapters will run in their own process, separate from IPA. |
| pfi.customActivity.beansToRunSeparateOptions | This parameter lets you specify your own runtime options for custom activities. These options are available only for custom activities that run in a separate process. |