gpt4 book ai didi

java - spring服务器无法使用jedis客户端连接到redis

转载 作者:可可西里 更新时间:2023-11-01 10:55:24 25 4
gpt4 key购买 nike

当我在两个不同的服务器中部署 redis 服务器和 spring 服务器并尝试通过我的应用程序连接到 spring 服务器时,我遇到了这个问题。

应用详情:
我们有使用 stomp 将 gps 坐标发布到 spring 服务器的移动应用程序。在 spring 服务器中,我们创建 jedis pubsub 连接并将这些 gps 数据发布到我们的 web 应用程序,web 用户订阅这些 jedis pubsub 连接。

库版本:
踩踏:1.7.1
绝地武士:2.8.1
Spring :4.3.0

工作场景:
*在我的本地机器上部署spring服务器,在远程生产服务器上部署redis服务器。
*在远程服务器部署spring服务器,在部署spring服务器的同一远程服务器部署redis服务器。

部分工作场景:
*在远程服务器部署spring server,在部署spring server的不同远程服务器部署redis服务器。在这种情况下,我使用 redis cli 监视 redis 服务器,我可以看到“HGETALL”、“PUBLISH”关键字及其数据。但同时我在 spring 服务器中遇到以下错误:

原因:

java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at redis.clients.jedis.Connection.connect(Connection.java:158)
... 4 more
redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused (Connection refused)
at redis.clients.jedis.Connection.connect(Connection.java:164)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:80)
at redis.clients.jedis.Connection.setTimeoutInfinite(Connection.java:68)
at redis.clients.jedis.Jedis.subscribe(Jedis.java:2626)
at shipxpress.pubsubservice.controllers.SubscriberThread.run(MainController.java:227)

spring server可以成功depoyed到服务器,jedis尝试发布或订阅连接时出现异常。我可以从我们通过 redis-cli 部署 spring 服务器的服务器成功 ping 到 redis 服务器,redis 服务器 prtected-mode 是 no 并且绑定(bind) ip 设置为 0.0.0.0

链接:我浏览了以下链接,但没有成功
Redis bind to more than one IP

https://github.com/xetorthio/jedis/issues/1405

Cannot connect to redis using jedis

最佳答案

此问题意味着 Spring 远程服务器无法通过默认的 Redis 端口与其他远程服务器(Redis 服务器)通信。也许您可以通过从控制台使用 netstat 尝试从另一个远程服务器访问远程 Redis 服务器来确认这一点。

关于java - spring服务器无法使用jedis客户端连接到redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44043358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com