Match criteria for service integration
Match criteria are a set of one or more name-value pairs in a policy definition. We use the match criteria to make a policy bind to a particular messaging engine, or a set of messaging engines. To do this, we configure the match criteria of the policy to match the properties of the high availability group HAGroupthat we want the policy to manage, that is, the HAGroup containing the messaging engine.
If we use messaging engine policy assistance to configure the messaging engine behavior for messaging engines in a cluster, suitable match criteria are created automatically and we do not have to specify any.
The following table lists the names and values of the HAGroup properties for a messaging engine, and the set of matching messaging engines if a property is used in the policy match criteria:
Name Value Messaging engines the policy matches type WSAF_SIB Any messaging engine WSAF_SIB_MESSAGING_ENGINE The name of the messaging engine. This is in the form node.server-bus for a messaging engine in a server, or cluster.number-bus for a messaging engine in a cluster, where number relates to the order that messaging engines were added to the bus (the first messaging engine created when we add the cluster to a bus has the number 000). A particular messaging engine WSAF_SIB_BUS The name of the bus All messaging engines in a particular bus IBM_hc The name of the cluster All messaging engines in a particular cluster Use the match criteria, we can associate the policy with all messaging engines, all messaging engines on a named bus, all messaging engines in a particular cluster, or a single messaging engine with a specific name.
The most general policy is the default included with the product, the "Default SIBus Policy". This policy has a single match criterion: type=WSAF_SIB. This policy matches any messaging engine that does not have a stronger match to another policy.
For a policy to be assigned to an HAGroup, all the policy criteria must match. We can specify multiple match criteria; the more criteria that match, the stronger the match becomes. The criteria are logically conjoined and are effectively filtering conditions on the set of policies that can match the messaging engine HAGroup. If a policy has any match criteria that do not match one of the HAGroup properties, the policy cannot match that HAGroup.
For example, if we add a match criterion that requires that the HAGroup has the WSAF_SIB_BUS=MyBus property, it restricts the policy to match only messaging engines on the bus that is named MyBus.
Alternatively, if we add a match criterion that requires that the HAGroup has the WSAF_SIB_MESSAGING_ENGINE=MyCluster.002-MyBus property, it restricts the policy to match only the messaging engine that is named MyCluster.002-MyBus.
Use the IBM_hc match criterion to use the same policy for resources (not necessarily of the same type) in the same server cluster.
Be careful that we do not configure a logically impossible combination of criteria. For example, if we specify a bus that does not exist, or name a messaging engine that does not exist, the policy cannot match any HAGroup.
We must also ensure that we do not define policies that create conflicting matches for any messaging engines. If a messaging engine matches with equal strength to more than one policy, there is a conflict that cannot be resolved, and an error occurs.
Every messaging engine matches once with the "Default SIBus Policy". Therefore, when defining another policy and specify match criteria, specify multiple match criteria to ensure that these match criteria create a stronger match than the match that the "Default SIBus Policy" creates.
For example, to associate a policy with all the messaging engines on a bus, specify the match criteria type=WSAF_SIB and WSAF_SIB_BUS=bus_name for the policy. All messaging engines on the bus match twice with the criteria specified in the policy. Therefore, the policy has the strongest match and is associated with those messaging engines, and there is no conflict with the "Default SIBus Policy".
One approach to ensure that the matches you require are strong, and to minimize the possibility of conflicting matches, is to specify more match criteria as the level at which we want to associate the policy becomes finer. For example:
- The "Default SIBus Policy" specifies a match criteria of...
type=WSAF_SIB
- To associate a policy with all the messaging engines on a bus, specify the match criteria...
type=WSAF_SIB
...and WSAF_SIB_BUS=bus_name for the policy.
- To associate a policy with all the messaging engines in a cluster, specify the match criteria...
type=WSAF_SIB, WSAF_SIB_BUS=bus_name
...and IBM_hc=cluster_name for the policy.
- To associate a policy with a specific messaging engine, specify the match criteria...
type=WSAF_SIB, WSAF_SIB_BUS=bus_name, IBM_hc=cluster_name
...and WSAF_SIB_MESSAGING_ENGINE=messaging_engine_name for the policy.
Related:
Messaging engine policy assistance Service integration high availability and workload sharing configurations Use match criteria to associate a policy with a messaging engine