-
Notifications
You must be signed in to change notification settings - Fork 218
Open
Description
As for the connection pool, the idle object after minEvictableIdleTimeMillis
is evicted in Evictor thread.
Evictor thread is started only when timeBetweenEvictionRunsMillis > 0
, and default timeBetweenEvictionRunsMillis
is -1.
However, RpcClientOptions doesn't provide API to set timeBetweenEvictionRunsMillis
. Could we provide RpcClientOptions::timeBetweenEvictionRunsMillis
?
public ChannelPool(RpcClient rpcClient, String host, int port) {
this.clientConfig = rpcClient.getRpcClientOptions();
objectFactory = new ChannelPoolObjectFactory(rpcClient, host, port);
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setJmxEnabled(clientConfig.isJmxEnabled());
pool = new GenericObjectPool<Connection>(objectFactory, config);
pool.setMaxIdle(clientConfig.getMaxIdleSize());
pool.setMaxTotal(clientConfig.getThreadPoolSize());
pool.setMaxWaitMillis(clientConfig.getMaxWait());
pool.setMinIdle(clientConfig.getMinIdleSize());
pool.setMinEvictableIdleTimeMillis(clientConfig.getMinEvictableIdleTime());
pool.setTestOnBorrow(clientConfig.isTestOnBorrow());
pool.setTestOnReturn(clientConfig.isTestOnReturn());
pool.setLifo(clientConfig.isLifo());
}
Metadata
Metadata
Assignees
Labels
No labels