Package com.tangosol.net.partition
Interface KeyPartitioningStrategy
- All Known Implementing Classes:
BroadKeyPartitioningStrategy
,DefaultKeyPartitioningStrategy
public interface KeyPartitioningStrategy
A KeyPartitioningStrategy is a pluggable strategy for assigning keys
to specific partitions.
Note: as of Coherence 3.6 the contract of the getKeyPartition
method has changed and should take
into consideration the service's key associator
.
- Since:
- Coherence 3.0
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
PartitionAwareKey is a well-known interface that should be respected byKeyPartitioningStrategy
implementations. -
Method Summary
Modifier and TypeMethodDescriptionDetermine the set of partitions that all keys associated with the specified key are assigned to.int
getKeyPartition
(Object oKey) Determine the partition to which a particular key should be assigned.void
init
(PartitionedService service) Initialize the KeyPartitioningStrategy and bind it to the specified PartitionedService.
-
Method Details
-
init
Initialize the KeyPartitioningStrategy and bind it to the specified PartitionedService.- Parameters:
service
- the PartitionedService that this strategy is being bound to
-
getKeyPartition
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 theKeyPartitioningStrategy.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:
-
getAssociatedPartitions
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 thegetKeyPartition
method.- Parameters:
oKey
- a key in its Object form- Returns:
- the PartitionSet associated with the specified key
- Since:
- Coherence 3.6
-