Class Config

    • Constructor Detail

      • Config

        public Config()
      • Config

        public Config​(Config oldConf)
    • Method Detail

      • getNettyHook

        public NettyHook getNettyHook()
      • setNettyHook

        public Config setNettyHook​(NettyHook nettyHook)
        Netty hook applied to Netty Bootstrap and Channel objects.
        Parameters:
        nettyHook - - netty hook object
        Returns:
        config
      • setCodec

        public Config setCodec​(Codec codec)
        Redis data codec. Default is MarshallingCodec codec
        Parameters:
        codec - object
        Returns:
        config
        See Also:
        Codec, MarshallingCodec
      • getCodec

        public Codec getCodec()
      • isReferenceEnabled

        public boolean isReferenceEnabled()
        Config option indicate whether Redisson Reference feature is enabled.

        Default value is true

        Returns:
        true if Redisson Reference feature enabled
      • setReferenceEnabled

        public void setReferenceEnabled​(boolean redissonReferenceEnabled)
        Config option for enabling Redisson Reference feature

        Default value is true

        Parameters:
        redissonReferenceEnabled - flag
      • useClusterServers

        public ClusterServersConfig useClusterServers()
        Init cluster servers configuration
        Returns:
        config
      • setClusterServersConfig

        protected void setClusterServersConfig​(ClusterServersConfig clusterServersConfig)
      • useReplicatedServers

        public ReplicatedServersConfig useReplicatedServers()
        Init Replicated servers configuration. Most used with Azure Redis Cache or AWS Elasticache
        Returns:
        ReplicatedServersConfig
      • setReplicatedServersConfig

        protected void setReplicatedServersConfig​(ReplicatedServersConfig replicatedServersConfig)
      • useSingleServer

        public SingleServerConfig useSingleServer()
        Init single server configuration.
        Returns:
        SingleServerConfig
      • setSingleServerConfig

        protected void setSingleServerConfig​(SingleServerConfig singleConnectionConfig)
      • useSentinelServers

        public SentinelServersConfig useSentinelServers()
        Init sentinel servers configuration.
        Returns:
        SentinelServersConfig
      • setSentinelServersConfig

        protected void setSentinelServersConfig​(SentinelServersConfig sentinelConnectionConfig)
      • useMasterSlaveServers

        public MasterSlaveServersConfig useMasterSlaveServers()
        Init master/slave servers configuration.
        Returns:
        MasterSlaveServersConfig
      • setMasterSlaveServersConfig

        protected void setMasterSlaveServersConfig​(MasterSlaveServersConfig masterSlaveConnectionConfig)
      • isClusterConfig

        public boolean isClusterConfig()
      • isSentinelConfig

        public boolean isSentinelConfig()
      • getThreads

        public int getThreads()
      • setThreads

        public Config setThreads​(int threads)
        Threads amount shared across all listeners of RTopic object, invocation handlers of RRemoteService object and RExecutorService tasks.

        Default is 16.

        0 means current_processors_amount * 2

        Parameters:
        threads - amount
        Returns:
        config
      • setNettyThreads

        public Config setNettyThreads​(int nettyThreads)
        Threads amount shared between all redis clients used by Redisson.

        Default is 32.

        0 means current_processors_amount * 2

        Parameters:
        nettyThreads - amount
        Returns:
        config
      • getNettyThreads

        public int getNettyThreads()
      • setExecutor

        public Config setExecutor​(ExecutorService executor)
        Use external ExecutorService. ExecutorService processes all listeners of RTopic, RRemoteService invocation handlers and RExecutorService tasks.

        The caller is responsible for closing the ExecutorService.

        Parameters:
        executor - object
        Returns:
        config
      • setEventLoopGroup

        public Config setEventLoopGroup​(io.netty.channel.EventLoopGroup eventLoopGroup)
        Use external EventLoopGroup. EventLoopGroup processes all Netty connection tied to Redis servers. Each EventLoopGroup creates own threads and each Redisson client creates own EventLoopGroup by default. So if there are multiple Redisson instances in same JVM it would be useful to share one EventLoopGroup among them.

        Only EpollEventLoopGroup, KQueueEventLoopGroup NioEventLoopGroup can be used.

        The caller is responsible for closing the EventLoopGroup.

        Parameters:
        eventLoopGroup - object
        Returns:
        config
      • getEventLoopGroup

        public io.netty.channel.EventLoopGroup getEventLoopGroup()
      • setLockWatchdogTimeout

        public Config setLockWatchdogTimeout​(long lockWatchdogTimeout)
        This parameter is only used if lock has been acquired without leaseTimeout parameter definition. Lock expires after lockWatchdogTimeout if watchdog didn't extend it to next lockWatchdogTimeout time interval.

        This prevents against infinity locked locks due to Redisson client crush or any other reason when lock can't be released in proper way.

        Default is 30000 milliseconds

        Parameters:
        lockWatchdogTimeout - timeout in milliseconds
        Returns:
        config
      • getLockWatchdogTimeout

        public long getLockWatchdogTimeout()
      • setKeepPubSubOrder

        public Config setKeepPubSubOrder​(boolean keepPubSubOrder)
        Defines whether to keep PubSub messages handling in arrival order or handle messages concurrently.

        This setting applied only for PubSub messages per channel.

        Default is true.

        Parameters:
        keepPubSubOrder - - true if order required, false otherwise.
        Returns:
        config
      • isKeepPubSubOrder

        public boolean isKeepPubSubOrder()
      • setAddressResolverGroupFactory

        public Config setAddressResolverGroupFactory​(AddressResolverGroupFactory addressResolverGroupFactory)
        Used to switch between DnsAddressResolverGroup implementations. Switch to round robin RoundRobinDnsAddressResolverGroup when you need to optimize the url resolving.
        Parameters:
        addressResolverGroupFactory -
        Returns:
        config
      • fromYAML

        public static Config fromYAML​(String content)
                               throws IOException
        Read config object stored in YAML format from String
        Parameters:
        content - of config
        Returns:
        config
        Throws:
        IOException - error
      • fromYAML

        public static Config fromYAML​(InputStream inputStream)
                               throws IOException
        Read config object stored in YAML format from InputStream
        Parameters:
        inputStream - object
        Returns:
        config
        Throws:
        IOException - error
      • fromYAML

        public static Config fromYAML​(File file)
                               throws IOException
        Read config object stored in YAML format from File
        Parameters:
        file - object
        Returns:
        config
        Throws:
        IOException - error
      • fromYAML

        public static Config fromYAML​(URL url)
                               throws IOException
        Read config object stored in YAML format from URL
        Parameters:
        url - object
        Returns:
        config
        Throws:
        IOException - error
      • fromYAML

        public static Config fromYAML​(Reader reader)
                               throws IOException
        Read config object stored in YAML format from Reader
        Parameters:
        reader - object
        Returns:
        config
        Throws:
        IOException - error
      • toYAML

        public String toYAML()
                      throws IOException
        Convert current configuration to YAML format
        Returns:
        config in yaml format
        Throws:
        IOException - error
      • setUseScriptCache

        public Config setUseScriptCache​(boolean useScriptCache)
        Defines whether to use Lua-script cache on Redis side. Most Redisson methods are Lua-script based and this setting turned on could increase speed of such methods execution and save network traffic.

        Default is false.

        Parameters:
        useScriptCache - - true if Lua-script caching is required, false otherwise.
        Returns:
        config
      • isUseScriptCache

        public boolean isUseScriptCache()
      • getMinCleanUpDelay

        public int getMinCleanUpDelay()
      • setMinCleanUpDelay

        public Config setMinCleanUpDelay​(int minCleanUpDelay)
        Defines minimum delay in seconds for clean up process of expired entries.

        Applied to JCache, RSetCache, RMapCache, RListMultimapCache, RSetMultimapCache objects.

        Default is 5.

        Parameters:
        minCleanUpDelay - - delay in seconds
        Returns:
        config
      • getMaxCleanUpDelay

        public int getMaxCleanUpDelay()
      • setMaxCleanUpDelay

        public Config setMaxCleanUpDelay​(int maxCleanUpDelay)
        Defines maximum delay in seconds for clean up process of expired entries.

        Applied to JCache, RSetCache, RMapCache, RListMultimapCache, RSetMultimapCache objects.

        Default is 1800.

        Parameters:
        maxCleanUpDelay - - delay in seconds
        Returns:
        config
      • getCleanUpKeysAmount

        public int getCleanUpKeysAmount()
      • setCleanUpKeysAmount

        public Config setCleanUpKeysAmount​(int cleanUpKeysAmount)
        Defines expired keys amount deleted per single operation during clean up process of expired entries.

        Applied to JCache, RSetCache, RMapCache, RListMultimapCache, RSetMultimapCache objects.

        Default is 100.

        Parameters:
        cleanUpKeysAmount - - delay in seconds
        Returns:
        config
      • isUseThreadClassLoader

        public boolean isUseThreadClassLoader()
      • setUseThreadClassLoader

        public Config setUseThreadClassLoader​(boolean useThreadClassLoader)
        Defines whether to supply Thread ContextClassLoader to Codec. Usage of Thread.getContextClassLoader() may resolve ClassNotFoundException error. For example, this error arise if Redisson is used in both Tomcat and deployed application.

        Default is true.

        Parameters:
        useThreadClassLoader - true if Thread ContextClassLoader is used, false otherwise.
        Returns:
        config
      • getReliableTopicWatchdogTimeout

        public long getReliableTopicWatchdogTimeout()
      • setReliableTopicWatchdogTimeout

        public Config setReliableTopicWatchdogTimeout​(long timeout)
        Reliable Topic subscriber expires after timeout if watchdog didn't extend it to next timeout time interval.

        This prevents against infinity grow of stored messages in topic due to Redisson client crush or any other reason when subscriber can't consumer messages anymore.

        Default is 600000 milliseconds

        Parameters:
        timeout - timeout in milliseconds
        Returns:
        config
      • setConnectionListener

        public Config setConnectionListener​(ConnectionListener connectionListener)
        Sets connection listener which is triggered when Redisson connected/disconnected to Redis server
        Parameters:
        connectionListener - - connection listener
        Returns:
        config