停止Redis服务器线程仍在等待

问题描述 投票:0回答:1

我编写了连接到 Redis 并执行操作的 Java 代码。当我关闭 Redis 服务器时,线程会抛出错误但不会终止。处于TIMED_WAITING状态,线程无限期等待。我应该怎么做才能确保线程不会无限期地等待服务器响应?我希望它简单地完成它的工作。

我尝试在 Jedis 构造函数中添加超时,但没有成功。线程仍在运行。

java redis jedis
1个回答
0
投票

您可以设置连接和Socket的超时时间:

try {
    Jedis jedis = new Jedis(host, port); 
    jedis.connectTimeout(3000);// 3 seconds for connection 
    jedis.getClient().setSoTimeout(5000); // 5 seconds for Socket
} catch (JedisConnectionException e) {
    // Handle connection error
} 

尝试一下并告诉我

© www.soinside.com 2019 - 2024. All rights reserved.