Class RemoteAsyncBucketBuilderView<K,​KeyOld>

    • Method Detail

      • withOptimization

        public RemoteAsyncBucketBuilder<K> withOptimization​(Optimization optimization)
        Description copied from interface: RemoteAsyncBucketBuilder
        Configures the optimization strategy that will be applied for buckets that are built by this builder.

        It is worth mentioning that optimization will take effect only if you reuse the bucket, so you need to store a reference to the bucket anywhere in order to reuse it later. In other words, if any request optimization strategy has been applied to the bucket proxy then proxy can not be treated as a cheap object.

        The full list of built-in optimizations can be found there Optimizations

        Specified by:
        withOptimization in interface RemoteAsyncBucketBuilder<K>
        Parameters:
        optimization - optimization strategy
        Returns:
        this
      • withImplicitConfigurationReplacement

        public RemoteAsyncBucketBuilder<K> withImplicitConfigurationReplacement​(long desiredConfigurationVersion,
                                                                                TokensInheritanceStrategy tokensInheritanceStrategy)
        Description copied from interface: RemoteAsyncBucketBuilder
        Activates implicit configuration replacement.

        By default distributed bucket operates with configuration that was provided at the time of its first creation. Providing the new configuration via RemoteBucketBuilder takes no effect if bucket is already persisted in the storage, because configuration is stored together with state of bucket. Without implicit configuration replacement, there is only one way to replace configuration of bucket - is explicit calling of AsyncBucketProxy.replaceConfiguration(BucketConfiguration, TokensInheritanceStrategy).

        When implicit configuration replacement is activated, bucket will automatically replace persisted configuration using provided tokensInheritanceStrategy in case of persisted version of configuration in the storage < than provided desiredConfigurationVersion.

        Specified by:
        withImplicitConfigurationReplacement in interface RemoteAsyncBucketBuilder<K>
        Parameters:
        desiredConfigurationVersion - specifies desired configuration version
        tokensInheritanceStrategy - the strategy that will be used for token migration if desiredConfigurationVersion of persisted bucket is less that provided desiredConfigurationVersion
        Returns:
        this
      • withMapper

        public <K2> RemoteAsyncBucketBuilder<K2> withMapper​(Function<? super K2,​? extends K> innerMapper)
        Description copied from interface: RemoteAsyncBucketBuilder
        Returns a proxy object that wraps this RemoteAsyncBucketBuilder such that keys are first mapped using the specified mapping function before being sent to the remote store. The returned RemoteAsyncBucketBuilder shares the same underlying store as the original, and keys that map to the same value will share the same remote state.
        Specified by:
        withMapper in interface RemoteAsyncBucketBuilder<K>
        Type Parameters:
        K2 - the type of key accepted by returned RemoteAsyncBucketBuilder
        Parameters:
        innerMapper - the mapper function to apply to keys
        Returns:
        a proxy object that wraps this RemoteAsyncBucketBuilder