作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在运行多个工作线程(大约 10 个)来访问来自 redis Q 的数据。
对于我正在为 Jedis Client 使用无限超时。
Jedis jedis = pool.getResource();
jedis.getClient().setTimeoutInfinite();
我仍然收到错误“无法从池中获取资源”。下面给出了堆栈跟踪。
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:22)
at Workers.Worker1.met1(Worker1.java:124)
at Workers.Worker1.work(Worker1.java:108)
at org.gearman.impl.worker.WorkerConnectionController$3.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:124)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:54)
at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1657)
at redis.clients.jedis.JedisPool$JedisFactory.makeObject(JedisPool.java:63)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
at redis.clients.util.Pool.getResource(Pool.java:20)
... 6 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at redis.clients.jedis.Connection.connect(Connection.java:119)
... 11 more
最佳答案
我注意到如果 Redis 没有运行,这个异常可以并且将会被抛出。请注意。
关于java - 无法从池中获取资源(SocketTimeoutException :),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043658/
这个问题在这里已经有了答案: ExecutorService, how to wait for all tasks to finish (16 个答案) 关闭 5 年前。 我有一个命令行应用程序。它
我正在使用池来启动 python3.6 中的工作进程。工作人员在完成后将返回 True 或 False,我想知道使用 AsyncResult 返回对象或使用回调函数来检查工作人员是否返回 True 或
环境:Ubuntu 上的 Node.js,以编程方式使用 PM2。 我已经通过我的主代码上的 Node 启动了具有 3 个实例的 PM2。假设我使用 PM2 命令行删除其中一个实例。我可以将另一个 w
我已将密码存储在 char 数组中,在检索它们时,我直接调用 String.ValueOf(char[] array) 方法。执行此操作会将形成的 String 存储在 String 池中。如果是,我
我是一名优秀的程序员,十分优秀!