04_2連接池 從連接池獲取連接超時, 連接池新建tcp連接超市

有了連接池之後,獲取連接是從連接池獲取,沒有足夠連接時連接池會創建連接。這時,獲取連接操作往往有兩個超時時間:
一個是從連接池獲取連接的最長等待時間,通常叫作請求超時connectRequestTimeout或等待超時connectWaitTimeout;
一個是連接池新建TCP
連接三次握手的連接超時,通常叫作連接超時connectTimeout。

針對JedisPool、Apache HttpClient和Hikari數據庫連接池,你知道如何設置這2個參數嗎?

假設我們希望設置連接超時5s,獲取連接超時10s:
hikari兩個參數設置方式:
spring.datasource.hikari.connection-timeout=10000
spring.datasource.url=jdbc:mysql://localhost:6657/common_mistakes?connectTimeout=5000&characterEncoding=UTF-
8&useSSL=false&rewriteBatchedStatements=true
jedis兩個參數設置:
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxWaitMillis(10000);
try (JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379, 5000);
Jedis jedis = jedisPool.getResource()) {
return jedis.set("test", "test");
}
httpclient兩個參數設置:
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(5000)
.setConnectionRequestTimeout(10000)
.build();
HttpGet httpGet = new HttpGet("http://127.0.0.1:45678/twotimeoutconfig/test");
httpGet.setConfig(requestConfig);
try (CloseableHttpResponse response = httpClient.execute(httpGet)) {...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章