Interface ClientPartitionAwarenessMapperFactory


  • public interface ClientPartitionAwarenessMapperFactory
    This factory is used on the client side and only when the partition awareness thin client feature is enabled. By default, on a new cache the RendezvousAffinityFunction will be used for calculating mappings 'key-to-partition' and 'partition-to-node'. The thin client will update all 'partitions-to-node' mappings on every cluster topology change and the 'key-to-partition' mapping will be calculated on the client side.

    The case described above will not be possible (and in turn partition awareness won't work) when a custom AffinityFunction or a AffinityKeyMapper was previously used for a cache creation. The partition awareness mapper factory is used to solve this issue. All 'partition-to-node' mappings will still be requested and received from a server node, however, if a custom AffinityFunction or a custom AffinityKeyMapper was used a ClientPartitionAwarenessMapper produced by this factory will calculate mapping a key to a partition.

    These key to partition mapping functions produced by the factory are used only for local calculations, they will not be passed to a server node.

    Since:
    2.14
    See Also:
    AffinityFunction
    • Method Detail

      • create

        ClientPartitionAwarenessMapper create​(String cacheName,
                                              int partitions)
        Parameters:
        cacheName - Cache name to create a mapper for.
        partitions - Number of cache partitions received from a server node.
        Returns:
        Key to a partition mapper function.