Tôi đang chạy nhiều đề người lao động (khoảng 10) để truy cập dữ liệu từ redis Q.
Đối với thời gian chờ infinte Tôi đang sử dụng cho Jedis Khách hàng .Không thể lấy một nguồn tài nguyên từ hồ bơi (SocketTimeoutException :)
Jedis jedis = pool.getResource();
jedis.getClient().setTimeoutInfinite();
Tôi vẫn gặp lỗi "Không thể nhận tài nguyên từ hồ bơi". Stacktrace được đưa ra dưới đây.
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
Và máy chủ Redis của bạn có còn sống không? Bạn có thể kết nối với nó từ hộp máy khách bằng redis-cli không? –
Có Máy chủ Redis vẫn còn hoạt động và có thể kết nối bằng redis-cli – Vignesh
Tôi gặp vấn đề tương tự. Redis đang chạy. Vấn đề xảy ra khi sử dụng JedisPool, và tôi làm 'returnResource'. Không có vấn đề gì với 'Jedis jedis = new Jedis (" localhost ");'. Bạn đã giải quyết vấn đề này chưa? –