public AbstractRedisClient()

in dubbo-remoting-extensions/dubbo-remoting-redis/src/main/java/org/apache/dubbo/remoting/redis/support/AbstractRedisClient.java [43:88]


    public AbstractRedisClient(URL url) {
        this.url = url;
        config = new JedisPoolConfig();
        poolConfig = new GenericObjectPoolConfig<>();
        config.setTestOnBorrow(url.getParameter("test.on.borrow", true));
        poolConfig.setTestOnBorrow(url.getParameter("test.on.borrow", true));
        config.setTestOnReturn(url.getParameter("test.on.return", false));
        poolConfig.setTestOnReturn(url.getParameter("test.on.return", false));
        config.setTestWhileIdle(url.getParameter("test.while.idle", false));
        poolConfig.setTestOnBorrow(url.getParameter("test.on.borrow", false));
        if (url.getParameter("max.idle", 0) > 0) {
            config.setMaxIdle(url.getParameter("max.idle", 0));
            poolConfig.setMaxIdle(url.getParameter("max.idle", 0));
        }
        if (url.getParameter("min.idle", 0) > 0) {
            config.setMinIdle(url.getParameter("min.idle", 0));
            poolConfig.setMinIdle(url.getParameter("min.idle", 0));
        }
        if (url.getParameter("max.active", 0) > 0) {
            config.setMaxTotal(url.getParameter("max.active", 0));
            poolConfig.setMaxTotal(url.getParameter("max.active", 0));
        }
        if (url.getParameter("max.total", 0) > 0) {
            config.setMaxTotal(url.getParameter("max.total", 0));
            poolConfig.setMaxTotal(url.getParameter("max.total", 0));
        }
        if (url.getParameter("max.wait", url.getParameter("timeout", 0)) > 0) {
            Duration maxWaitMillis = Duration.ofMillis(url.getParameter("timeout", 0));
            config.setMaxWait(maxWaitMillis);
            poolConfig.setMaxWait(maxWaitMillis);
        }
        if (url.getParameter("num.tests.per.eviction.run", 0) > 0) {
            config.setNumTestsPerEvictionRun(url.getParameter("num.tests.per.eviction.run", 0));
            poolConfig.setNumTestsPerEvictionRun(url.getParameter("num.tests.per.eviction.run", 0));
        }
        if (url.getParameter("time.between.eviction.runs.millis", 0) > 0) {
            Duration timeBetweenEvictionRunsMillis = Duration.ofMillis(url.getParameter("time.between.eviction.runs.millis", 0));
            config.setTimeBetweenEvictionRuns(timeBetweenEvictionRunsMillis);
            poolConfig.setTimeBetweenEvictionRuns(timeBetweenEvictionRunsMillis);
        }
        if (url.getParameter("min.evictable.idle.time.millis", 0) > 0) {
            Duration minEvictableIdleTimeMillis = Duration.ofMillis(url.getParameter("min.evictable.idle.time.millis", 0));
            config.setMinEvictableIdleTime(minEvictableIdleTimeMillis);
            poolConfig.setMinEvictableIdleTime(minEvictableIdleTimeMillis);
        }
    }