当我在两台不同的服务器上部署redis服务器和spring服务器并尝试通过我的应用程序连接到spring服务器时,出现此问题。春季服务器无法使用jedis客户端连接到redis
应用详细信息:
我们有移动应用程序使用脚踏板发布gps坐标到春季服务器。在Spring服务器中,我们创建jedis pubsub连接并将这些gps数据发布到我们的Web应用程序,并且Web用户订阅这些jedis pubsub连接。
库版本:
跺脚:1.7.1
jedis:2.8.1
春:4.3.0
工作方案:
*配置弹簧服务器在远程我的本地机器和Redis的服务器生产服务器。
*在部署spring服务器的同一远程服务器上部署spring服务器和远程服务器和redis服务器。
部分工作场景:
*在部署spring服务器的远程服务器和不同远程服务器上的远程服务器和redis服务器上部署spring服务器。在这种情况下,我使用redis cli监视redis服务器,并且可以看到“HGETALL”,“PUBLISH”关键字及其数据。但同时我得到了下面的春天服务器错误:
造成的:
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)
弹簧服务器可以成功depoyed到服务器,当jedis尝试发布或subscripe的连接出现异常。 我可以成功地ping命令从我们部署通过Redis的-CLI和弹簧服务器的服务器Redis的服务器Redis的服务器prtected模式是不与和绑定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
的可能的复制[java.net.ConnectException:连接被拒绝(http://stackoverflow.com/questions/6876266/java-net-connectexception - 连接 - 拒绝) – mp911de
不,这是不一样的问题,因为我的工作正常,当春季服务器在我的机器。它在情况3中不起作用,其中spring服务器和redis服务器位于两个不同的远程服务器中。 –