Interface CorrelationIdPoolCMP

  • All Known Implementing Classes:
    CorrelationIdPool

    @Profile(vendorExtensionID="correlation-id-pool",
             description="Correlation Id Pool",
             id=@ComponentId(name="@component.name@",vendor="@component.vendor@",version="@component.version@"),
             profileClasses=@ProfileClasses(profileLocal=@ProfileLocalInterface(interfaceName="com.opencloud.slee.resources.correlation.profile.CorrelationIdPoolLocal"),profileAbstractClass=@ProfileAbstractClass(className="com.opencloud.slee.resources.correlation.profile.CorrelationIdPool")))
    public interface CorrelationIdPoolCMP
    Configuration parameters for a Correlation Id Pool

    Each pool supported by correlation RA is defined by a SLEE profile. The correlation RA reads the pool definitions on activation and builds a corresponding run-time representation.

    There are two possible (mutually exclusive) configuration options:

    1. A prescribed set of ids (per node).
    2. A range of ids (per node) defined by a [min, max] pair.
    • Method Detail

      • getAddressPrefixes

        String[] getAddressPrefixes()
        Get the address prefixes that identifies this correlation id pool. The default pool has an empty set of address prefixes.
        Returns:
        address prefixes that identify this correlation id pool (or null for the default id pool).
      • getCorrelationIDNumberOfDigits

        int getCorrelationIDNumberOfDigits()
        Get the number of digits the Correlation ID should have.
        Returns:
        the number of digits the Correlation ID should have.
      • getCorrelationIDRangePerNode

        int[] getCorrelationIDRangePerNode()
        Get the range of values used in each node in conjunction with the NodeIds attribute.

        The CorrelationIDRangePerNode array is mapped to the NodeIds array in the following way:

        The node whose identifier is NodeIds[i] has a range of values of CorrelationIDRangePerNode[i]. Each cluster has a range of CorrelationIDs defined by the attributes: [MinCorrelationIDInCluster,MaxCorrelationIDInCluster]

        These values must be split between the different nodes following the next rule:

        • NodeIds[0]: [MinCorrelationIDInCluster ... MinCorrelationIDInCluster + CorrelationIDRangePerNode[0]
        • NodeIds[1]: [MinCorrelationIDInCluster + CorrelationIDRangePerNode[0] + 1 ... MinCorrelationIDInCluster + CorrelationIDRangePerNode[0] + 1 + CorrelationIDRangePerNode[1]]
        • etc
        Returns:
        the number of values that each node in the cluster that can be used for the Correlation ID.
      • getIsPreconfiguredCorrelationIdSetUsed

        boolean getIsPreconfiguredCorrelationIdSetUsed()
        Check if the preconfigured set of Correlation IDs is to be used.
        Returns:
        true if the preconfigured set of Correlation IDs is to be used.
      • getMaxCorrelationIDInCluster

        long getMaxCorrelationIDInCluster()
        Get the maximum Correlation ID value used in the cluster.
        Returns:
        the maximum Correlation ID value.
      • getMinCorrelationIDInCluster

        long getMinCorrelationIDInCluster()
        Get the minimum Correlation ID value used in the cluster.
        Returns:
        the minimum Correlation ID value.
      • getNodeIds

        int[] getNodeIds()
        Get the array of nodeIds used in conjunction with the attribute CorrelationIDRangePerNode. Each position of both arrays are related. So the node in the position x has the range defined in the same position of the other array.
        Returns:
        an array with the nodeIds.
      • getPreconfiguredCorrelationIdSet

        String[] getPreconfiguredCorrelationIdSet()
        Get the preconfigured set of Correlation IDs per node (delimited with ":").
        Returns:
        the preconfigured set of Correlation IDs per node.
      • setAddressPrefixes

        void setAddressPrefixes​(String[] prefixes)
        Set the address prefixes that identifies this correlation id pool. The default pool has an empty set of address prefixes.
        Parameters:
        prefixes - address prefixes that identify this correlation id pool (or null for the default id pool).
      • setCorrelationIDNumberOfDigits

        void setCorrelationIDNumberOfDigits​(int numberOfDigits)
        Set the number of digits the Correlation ID should have.
        Parameters:
        numberOfDigits - the number of digits the Correlation ID should have.
      • setCorrelationIDRangePerNode

        void setCorrelationIDRangePerNode​(int[] range)
        Set the range of numbers that can use each node in the cluster.
        Parameters:
        range - the range of numbers that can use each node in the cluster.
      • setIsPreconfiguredCorrelationIdSetUsed

        void setIsPreconfiguredCorrelationIdSetUsed​(boolean usePreconfigured)
        Set if the preconfigured set of Correlation IDs is to be used.
        Parameters:
        usePreconfigured - is the preconfigured set of Correlation IDs to be used.
      • setMaxCorrelationIDInCluster

        void setMaxCorrelationIDInCluster​(long max)
        Set the maximum Correlation ID value used in the cluster.
        Parameters:
        max - the maximum Correlation ID value.
      • setMinCorrelationIDInCluster

        void setMinCorrelationIDInCluster​(long min)
        Set the minimum Correlation ID value used in the cluster.
        Parameters:
        min - the minimum Correlation ID value.
      • setNodeIds

        void setNodeIds​(int[] nodeIds)
        Set the array of nodeIds used in conjunction with the attribute CorrelationIDRangePerNode. Each position of both arrays are related. So the node in the position x has the range defined in the same position of the other array.
        Parameters:
        nodeIds - the ids of all nodes that are using Correlation ID Range per node.
      • setPreconfiguredCorrelationIdSet

        void setPreconfiguredCorrelationIdSet​(String[] idSet)
        Set the preconfigured set of Correlation IDs per node (delimited with ":").
        Parameters:
        idSet - the preconfigured set of Correlation IDs per node.