A Correlation RA entity configuration consists of:
The Correlation resource adaptor supports live re-configuration, so the administrator may update the configuration properties of a Correlation resource adaptor entity that has already been created. |
Correlation RA configuration properties
The Correlation RA configuration properties are:
Name |
Type |
Description |
|
String |
The SLEE profile table with an RA configuration profile for this RA entity. |
|
String |
The SLEE profile in the ConfigProfileTable with configuration for this RA entity. |
|
String |
The SLEE profile table with correlation ID pool definitions for this Correlation RA entity. |
The example Correlation RA entity has the following configuration:
[admin@localhost (#0)] listraentityconfigproperties correlation-ra Configuration properties for resource adaptor entity correlation-ra: ConfigProfile (java.lang.String): CorrelationConfigProfile ConfigProfileTable (java.lang.String): CorrelationConfigTable CorrelationIdPoolTable (java.lang.String): CorrelationIdPoolTable slee-vendor:com.opencloud.rhino_max_activities (java.lang.Integer): 0 slee-vendor:com.opencloud.rhino_replicate_activities (java.lang.String): none
Correlation RA entity configuration profile
The Correlation RA configuration profile has the following attributes:
Name |
Type |
Description |
|
Int |
The maximum time (measured in ms) that an active correlation ID is considered to be still valid. Default: 30000 |
|
Int |
How many threads the Correlation RA entity should use. Default: 5 |
|
Int |
The maximum time (measured in ms) that the Correlation RA entity will allow for distributing correlation state to the cluster during a RA configuration update. Correlation requests are suspended while state distribution is in progress. Default: 3000 |
For example, the correlation-ra
RA entity that is deployed with the example service has the following configuration:
[admin@localhost (#3)] listprofileattributes CorrelationConfigTable CorrelationConfigProfile CorrelationIDExpiryTimerPeriod=10000 NumberOfThreadPool=20 StateDistributionTimeout=3000
Correlation RA entity ID pools configuration
Each Correlation RA entity has one or more correlation ID pools.
-
a default ID pool (optional)
-
a set of named ID pools. Each named ID pool is identified by a set of prefixes for choosing/selecting the ID pool. From the Correlation RA standpoint, the prefixes can be any address string. The client to the RA provides an address that the RA uses via the longest prefix match address list search to select the pool to use.
Each correlation ID pool is defined in a SLEE profile in an ID pools profile table. There is one correlation ID pools table per Correlation RA entity.
The correlation resource adaptor entity will raise an alarm if there are no correlation ID pools configured, or if there are configuration errors with the correlation ID pools. Click here for more information on alarms |
Name |
Type |
Description |
|
Array |
An array of address prefixes that corresponds to this pool. The default pool has an empty addressPrefixes array. |
|
Array |
An array of node IDs for which this pool has correlation IDs. Default: [101] |
|
Boolean |
If true, configure this ID pool with a pre-configured set of correlation IDs, else derive the correlation IDs. Default: true |
|
Array |
The preconfigured set of correlation IDs per node (delimited with ‘:’). Default: [34610000001:34610000002:34610000003] |
|
Int |
The minimum correlation ID value used in the cluster. 0 to maxCorrelationIDInCluster Default: 0 |
|
Int |
The maximum correlation ID value used in the cluster. 0 to (10^18-1) Default: 999 |
|
Int |
The number of digits the correlation ID should have. Minimum of number of digits in maxCorrelationIDInCluster to 18 maximum. Default: 10 |
|
Array |
The number of correlation IDs that can be used for each node in the cluster. Default: [1000] |
When updating configuration properties set them using the same setprofileattributes command i.e.
|
[admin@localhost (#3)] setprofileattributes CorrelationIdPoolTable _DEFAULT_ maxCorrelationIDInCluster 40000 isPreconfiguredCorrelationIdSetUsed false PreconfiguredCorrelationIdSet [] correlationIDRangePerNode [10000,10000,10000] NodeIds [101,102,103]
There are two possible configuration options for correlation ID pools.
-
prescribed set of IDs for each node
-
range of correlation IDs (min, max) for each node
A prescribed set of IDs for each node
Defines the prescribed correlation IDs for each node in the following way:
-
NodeIds[0]
—PreconfiguredCorrelationIdSet[0]
which is a ‘:’ separated string containing all the correlation IDs forNodeIds[0]
-
NodeIds[1]
—PreconfiguredCorrelationIdSet[1]
which is a ‘:’ separated string containing all the correlation IDs forNodeIds[1]
-
etc.
‘:’ is used as a separator and not to specify a range. For example, to specify IDs 123 , 124 , 125 and 126 use a value of 123:124:125:126 .
|
A range of correlation IDs (min, max) for each node
Defines the range of values used in each node in conjunction with the NodeIds
attribute in the following way:
-
The node whose identifier is
NodeIds[i]
has a range of values ofCorrelationIDRangePerNode[i]
-
Each cluster has a range of CorrelationIDs defined by:
[MinCorrelationIDInCluster, MaxCorrelationIDInCluster]
These values are allocated to the different cluster nodes in the following way:
-
NodeIds[0]
—[MinCorrelationIDInCluster … MinCorrelationIDInCluster + CorrelationIDRangePerNode[0]]
-
NodeIds[1]
—[MinCorrelationIDInCluster + CorrelationIDRangePerNode[0] + 1 … MinCorrelationIDInCluster + +CorrelationIDRangePerNode[0] + 1 + CorrelationIDRangePerNode[1]]
-
etc.
The maximum number of correlation IDs defined in the range is 1,000,000.