繁体   English   中英

Redis:获取JedisConnectionException:连接到远程服务器时无法从池中获取资源

[英]Redis: Getting JedisConnectionException: Could not get a resource from the pool When connecting to remote server

我正在尝试使用Jedis客户端从Windows 10上运行的Java App连接到远程Redis实例。 我的程序因JedisConnectionException异常而失败。

环境

  1. Redis 5.x在VM的Ubuntu 19.04上运行
  2. Redis配置为侦听具有密码且保护模式设置为on / yes的特定IP。
  3. 我正在Windows 10 Pro计算机上运行我的开发环境。
  4. Jedis版本是3.1.0
  5. 在Windows和Linux上,JDK均为OpenJDK 11.0.4。

我尝试过的

  1. 我已经测试了使用本地redis-cli连接到远程(在VM上运行)Redis服务器的操作,并成功完成,确认我能够访问,连接和使用redis-server。
  2. 我从Netbeans 11.1 IDE运行了测试程序,该程序运行在具有不同IP的同一主机上的另一个Linux VM上,并且也很成功。
  3. 我从Windows 10主机上运行的Netbeans 11.1 IDE运行了测试程序(100%相同的代码),该程序无法连接并引发异常。

代码段

池=新的JedisPool(配置,“ 192.168.199.130”,6379,Protocol.DEFAULT_TIMEOUT,“ foobar”,Protocol.DEFAULT_DATABASE); Jedis jedis = pool.getResource(); //此语句引发jedis.close()异常;

摘要

JedisPool.getResource()在Linux上运行,而Windows上的相同代码失败。

还有其他人遇到吗?

任何和所有帮助表示赞赏。 :-)

我确实解决了问题。 奇怪的是,我能够通过redis-cli进行连接,但无法通过Jedis api进行连接。 在redis服务器上使用配置可以解决此问题。 –刚从图坦

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM