Class ClientFlakeIdGeneratorConfig

java.lang.Object
com.hazelcast.client.config.ClientFlakeIdGeneratorConfig

public class ClientFlakeIdGeneratorConfig extends Object
The ClientFlakeIdGeneratorConfig contains the configuration for the client regarding Flake ID Generator.
  • Field Details

    • DEFAULT_PREFETCH_COUNT

      public static final int DEFAULT_PREFETCH_COUNT
      Default value for getPrefetchCount().
      See Also:
    • DEFAULT_PREFETCH_VALIDITY_MILLIS

      public static final long DEFAULT_PREFETCH_VALIDITY_MILLIS
      Default value for getPrefetchValidityMillis().
      See Also:
    • DEFAULT_BITS_NODE_ID

      public static final int DEFAULT_BITS_NODE_ID
      Default value for bit-length of node id component
      See Also:
    • MAXIMUM_PREFETCH_COUNT

      public static final int MAXIMUM_PREFETCH_COUNT
      Maximum value for prefetch count. The limit is ~10% of the default time we allow the IDs to be from the future

      The reason to limit the prefetch count is that a single call to FlakeIdGenerator.newId() might be blocked if the future allowance is exceeded: we want to avoid a single call for a large batch to block another call for a small batch.

      See Also:
  • Constructor Details

    • ClientFlakeIdGeneratorConfig

      public ClientFlakeIdGeneratorConfig(String name)
    • ClientFlakeIdGeneratorConfig

      public ClientFlakeIdGeneratorConfig(ClientFlakeIdGeneratorConfig other)
      Copy-constructor
  • Method Details

    • getName

      public String getName()
      Returns the configuration name. This can be actual object name or pattern.
    • setName

      public ClientFlakeIdGeneratorConfig setName(String name)
      Sets the name or name pattern for this config. Must not be modified after this instance is added to ClientConfig.
    • getPrefetchCount

      public int getPrefetchCount()
      See Also:
    • setPrefetchCount

      public ClientFlakeIdGeneratorConfig setPrefetchCount(int prefetchCount)
      Sets how many IDs are pre-fetched on the background when one call to FlakeIdGenerator.newId() is made. Default is 100.
      Parameters:
      prefetchCount - the desired prefetch count, in the range 1..100,000.
      Returns:
      this instance for fluent API
    • getPrefetchValidityMillis

      public long getPrefetchValidityMillis()
      See Also:
    • setPrefetchValidityMillis

      public ClientFlakeIdGeneratorConfig setPrefetchValidityMillis(long prefetchValidityMs)
      Sets for how long the pre-fetched IDs can be used. If this time elapses, a new batch of IDs will be fetched. Time unit is milliseconds, default is 600,000 (10 minutes).

      The IDs contain timestamp component, which ensures rough global ordering of IDs. If an ID is assigned to an object that was created much later, it will be much out of order. If you don't care about ordering, set this value to 0.

      Parameters:
      prefetchValidityMs - the desired ID validity or unlimited, if <=0
      Returns:
      this instance for fluent API
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object