Class Config

java.lang.Object
org.redisson.config.Config
Direct Known Subclasses:
RedissonNodeFileConfig

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

    • Config

      public Config()
    • Config

      public Config(Config oldConf)
  • Method Details

    • 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 Kryo5Codec codec
      Parameters:
      codec - object
      Returns:
      config
      See Also:
    • 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
    • getClusterServersConfig

      protected ClusterServersConfig getClusterServersConfig()
    • 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
    • getReplicatedServersConfig

      protected ReplicatedServersConfig getReplicatedServersConfig()
    • setReplicatedServersConfig

      protected void setReplicatedServersConfig(ReplicatedServersConfig replicatedServersConfig)
    • useCustomServers

      @Deprecated public void useCustomServers(ConnectionManager connectionManager)
      Deprecated.
      This is an extension point to supply custom connection manager.
      Parameters:
      connectionManager - for supply
      See Also:
    • useSingleServer

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

      protected SingleServerConfig getSingleServerConfig()
    • setSingleServerConfig

      protected void setSingleServerConfig(SingleServerConfig singleConnectionConfig)
    • useSentinelServers

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

      protected SentinelServersConfig getSentinelServersConfig()
    • setSentinelServersConfig

      protected void setSentinelServersConfig(SentinelServersConfig sentinelConnectionConfig)
    • useMasterSlaveServers

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

      protected MasterSlaveServersConfig getMasterSlaveServersConfig()
    • setMasterSlaveServersConfig

      protected void setMasterSlaveServersConfig(MasterSlaveServersConfig masterSlaveConnectionConfig)
    • isClusterConfig

      public boolean isClusterConfig()
    • isSentinelConfig

      public boolean isSentinelConfig()
    • isSingleConfig

      public boolean isSingleConfig()
    • 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
    • setTransportMode

      public Config setTransportMode(TransportMode transportMode)
      Transport mode

      Default is TransportMode.NIO

      Parameters:
      transportMode - param
      Returns:
      config
    • getTransportMode

      public TransportMode getTransportMode()
    • 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()
    • getNettyExecutor

      public Executor getNettyExecutor()
    • setNettyExecutor

      public Config setNettyExecutor(Executor nettyExecutor)
      Use external Executor for Netty.

      For example, it allows to define Executors.newVirtualThreadPerTaskExecutor() to use virtual threads.

      The caller is responsible for closing the Executor.

      Parameters:
      nettyExecutor - netty executor object
      Returns:
      config
    • setExecutor

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

      The caller is responsible for closing the ExecutorService.

      Parameters:
      executor - object
      Returns:
      config
    • getExecutor

      public ExecutorService getExecutor()
    • 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()
    • setCheckLockSyncedSlaves

      public Config setCheckLockSyncedSlaves(boolean checkLockSyncedSlaves)
      Defines whether to check synchronized slaves amount with actual slaves amount after lock acquisition.

      Default is true.

      Parameters:
      checkLockSyncedSlaves - true if check required, false otherwise.
      Returns:
      config
    • isCheckLockSyncedSlaves

      public boolean isCheckLockSyncedSlaves()
    • 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
    • getAddressResolverGroupFactory

      public AddressResolverGroupFactory getAddressResolverGroupFactory()
    • fromJSON

      @Deprecated public static Config fromJSON(String content) throws IOException
      Deprecated.
      Throws:
      IOException
    • fromJSON

      @Deprecated public static Config fromJSON(InputStream inputStream) throws IOException
      Deprecated.
      Throws:
      IOException
    • fromJSON

      @Deprecated public static Config fromJSON(File file, ClassLoader classLoader) throws IOException
      Deprecated.
      Throws:
      IOException
    • fromJSON

      @Deprecated public static Config fromJSON(File file) throws IOException
      Deprecated.
      Throws:
      IOException
    • fromJSON

      @Deprecated public static Config fromJSON(URL url) throws IOException
      Deprecated.
      Throws:
      IOException
    • fromJSON

      @Deprecated public static Config fromJSON(Reader reader) throws IOException
      Deprecated.
      Throws:
      IOException
    • toJSON

      @Deprecated public String toJSON() throws IOException
      Deprecated.
      Throws:
      IOException
    • 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(File file, ClassLoader classLoader) throws IOException
      Throws:
      IOException
    • 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
    • getConnectionListener

      public ConnectionListener getConnectionListener()
    • 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
    • getSlavesSyncTimeout

      public long getSlavesSyncTimeout()
    • setSlavesSyncTimeout

      public Config setSlavesSyncTimeout(long timeout)
      Defines slaves synchronization timeout applied to each operation of RLock, RSemaphore, RPermitExpirableSemaphore objects.

      Default is 1000 milliseconds.

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

      public boolean isLazyInitialization()
    • setLazyInitialization

      public Config setLazyInitialization(boolean lazyInitialization)
      Defines whether Redisson connects to Redis only when first Redis call is made and not during Redisson instance creation.

      Default value is false

      Parameters:
      lazyInitialization - true connects to Redis only when first Redis call is made, false connects to Redis during Redisson instance creation.
      Returns:
      config
    • getProtocol

      public Protocol getProtocol()
    • setProtocol

      public Config setProtocol(Protocol protocol)
      Defines Redis protocol version.

      Default value is RESP2

      Parameters:
      protocol - Redis protocol version
      Returns:
      config