Interface KeyPartitioningStrategy

    • Method Detail

      • init

        void init​(PartitionedService service)
        Initialize the KeyPartitioningStrategy and bind it to the specified PartitionedService.
        Parameters:
        service - the PartitionedService that this strategy is being bound to
      • getKeyPartition

        int getKeyPartition​(Object oKey)
        Determine the partition to which a particular key should be assigned.

        In general, implementations are expected to respect the associations provided by the service's KeyAssociator in such a way that keys that return the same associated key would be assigned to the same partition. Furthermore, implementations are also expected to respect explicit partition-assignments dictated by the KeyPartitioningStrategy.PartitionAwareKey interface. Naturally, those two interfaces should not be combined for a given key.

        The resulting partition must be in the range [0..N-1], where N is the value returned from PartitionedService.getPartitionCount().

        Parameters:
        oKey - a key in its Object form
        Returns:
        the partition ID that the specified key is assigned to
        See Also:
        PartitionedService.getPartitionOwner(int)
      • getAssociatedPartitions

        PartitionSet getAssociatedPartitions​(Object oKey)
        Determine the set of partitions that all keys associated with the specified key are assigned to. Most commonly, this method returns a partition set containing a single partition returned by the getKeyPartition method.
        Parameters:
        oKey - a key in its Object form
        Returns:
        the PartitionSet associated with the specified key
        Since:
        Coherence 3.6