Class Config

  • Direct Known Subclasses:
    RedissonNodeConfig

    public class Config
    extends Object
    Redisson configuration
    Author:
    Nikita Koksharov
    • Constructor Detail

      • Config

        public Config()
      • Config

        public Config​(Config oldConf)
    • Method Detail

      • setCodec

        public Config setCodec​(Codec codec)
        Redis key/value codec. Default is json-codec
        Parameters:
        codec - object
        Returns:
        config
        See Also:
        Codec
      • getCodec

        public Codec getCodec()
      • setReferenceCodecProvider

        public Config setReferenceCodecProvider​(ReferenceCodecProvider codecProvider)
        Reference objects codec provider used for codec registry and look up. org.redisson.codec.DefaultReferenceCodecProvider used by default.
        Parameters:
        codecProvider - object
        Returns:
        config
        See Also:
        ReferenceCodecProvider
      • getReferenceCodecProvider

        public ReferenceCodecProvider getReferenceCodecProvider()
        Returns the CodecProvider instance
        Returns:
        CodecProvider
      • 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
      • useReplicatedServers

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

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

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

        public MasterSlaveServersConfig useMasterSlaveServers()
        Init master/slave servers configuration.
        Returns:
        MasterSlaveServersConfig
      • 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 0.

        0 means current_processors_amount * 2

        Parameters:
        threads - amount
        Returns:
        config
      • isUseLinuxNativeEpoll

        public boolean isUseLinuxNativeEpoll()
      • setNettyThreads

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

        Default is 0.

        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 will be expired 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.

        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
      • fromJSON

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

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

        public static Config fromJSON​(File file,
                                      ClassLoader classLoader)
                               throws IOException
        Read config object stored in JSON format from File
        Parameters:
        file - object
        classLoader - class loader
        Returns:
        config
        Throws:
        IOException - error
      • fromJSON

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

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

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

        public String toJSON()
                      throws IOException
        Convert current configuration to JSON format
        Returns:
        config in json format
        Throws:
        IOException - error
      • 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.

        NOTE: readMode option is not taken into account for such calls as Redis slave redirects execution of cached Lua-script on Redis master node.

        Default is false.

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

        public boolean isUseScriptCache()