com.hazelcast.core

## Interface PartitionAware<T>

- Type Parameters:
    `T` - key type
  All Known Implementing Classes:
    PartitionAwareKey

      public interface PartitionAware<T>

  PartitionAware means that data will be based in the same member based on the partition key and implementing tasks will be executed on the `getPartitionKey()`'s owner member.

  This achieves data affinity. Data and execution occurs on the same partition.

  In Hazelcast, disparate data structures will be stored on the same partition, based on the partition key. For example, if "Steve" was used, then the following would be on one partition.
  - a customers IMap with an entry of key "Steve"
  - an orders IMap using a customer key type implementing PartitionAware with key "Steve
  - any queue named "Steve"
  - any PartitionAware object with partition key "Steve"
  If you have a `IExecutorService` which needs to deal with a customer and a customer's orders, you can achieve optimal performance by putting them on the same partition.

  `DistributedObject` also has a notion of the partition key which is of type String to ensure that the same partition as distributed Objects Strings is used for the partition key.

  See Also:
    `DistributedObject`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `T` | `getPartitionKey()` The key that will be used by Hazelcast to specify the partition.

- - ### Method Detail

    - #### getPartitionKey

          T getPartitionKey()

      The key that will be used by Hazelcast to specify the partition. You should give the same key for objects that you want to be in the same partition.
      Returns:
        the key that specifies the partition

Copyright © 2019. All rights reserved.