Ich bin verwirrt: Eine Verwendung: try(Pipeline pipeline = jedisPool.getResource().pipelined())
Wird es die Pipeline und die Jedis-Instanz schließen? Oder einfach die Pipeline schließen?Versuchen Sie mit verketteten Ressourcen in JedisPool
Ich benutze dies mit Multi-Threads, und ich habe den Fehler wie folgt. Ich bin verwirrt, dass der Fehler durch das Auslaufen der Instanz in JedisPool verursacht wird (wegen der Try-with-Resource-Verwendung) oder weil ein Deadlock (für das JedisPool in Multithread nicht gut ist)?
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
org.apache.commons.pool2.impl.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:583)
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:442)
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
redis.clients.util.Pool.getResource(Pool.java:49)
redis.clients.jedis.JedisPool.getResource(JedisPool.java:226)
io.codis.jodis.RoundRobinJedisPool.getResource(RoundRobinJedisPool.java:214)
wow ~ das ist erstaunlich ~ ich gefragt haben, wie die verketteten Ressource testen geschlossen ist, thx viel! – wttttt