Spring boot redis java.io.IOException: 远程主机强迫关闭了一个现有的连接

2023-05-16

现象

在测试环境部署的若依版本,经常会报如下的错误。而我在开发环境基本没有遇到过。

16:38:01.040 [lettuce-nioEventLoop-4-2] INFO  i.l.c.p.CommandHandler - [log,217] - null Unexpected exception during request: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
java.io.IOException: 远程主机强迫关闭了一个现有的连接。
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(Unknown Source)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
	at sun.nio.ch.IOUtil.read(Unknown Source)
	at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
	at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1133)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Unknown Source)
16:38:01.104 [lettuce-eventExecutorLoop-1-3] INFO  i.l.c.p.ConnectionWatchdog - [log,171] - Reconnecting, last destination was localhost/127.0.0.1:6379
16:38:01.110 [lettuce-nioEventLoop-4-3] INFO  i.l.c.p.ReconnectionHandler - [lambda$null$3,177] - Reconnected to localhost:6379

原因分析

从这个报错日志上来看,有几点是确定的。

  • 这是一个IO异常
java.io.IOException: 远程主机强迫关闭了一个现有的连接。
  • 这个异常应该与redis服务有关
Reconnecting, last destination was localhost/127.0.0.1:6379

因为redis服务器是部署在本地的,所以网络连接肯定是畅通无阻的。出现IO异常的原因应该就是在redis服务了,也许是可以redis服务中做了个会话连接时长的限制。

解决办法

springboot 使用 lettuce做redis 的连接池,lettuce 调用netty
与redis服务器通讯。redis服务器的连接超时缺省是65,改为0后不再报上面的错。

操作详解:
编辑你的redis.conf配置文件,比如:

客户端空闲 N 秒后关闭连接(0 表示禁用)
timeout 0

参考

https://gitee.com/y_project/RuoYi-Vue/issues/I3DP6H?_from=gitee_search

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring boot redis java.io.IOException: 远程主机强迫关闭了一个现有的连接 的相关文章

随机推荐

  • i3status配置笔记

    默认配置 最近一直在忙于写代码 xff0c i3status安装以后就没有做过任何配置 显示了一些我并不关心的内容 帮助文档 https i3wm org docs i3status html 创建配置文件 mkdir span class
  • Mybatis (ParameterType) 如何传递多个不同类型的参数

    在一些场景下 xff0c 传参是需要多个参数的 一个参数不太够用 xff0c 如 xff1a parameterType 61 34 ImGroup 34 最开始的想法是封装一个专用用来当参数的对象 xff0c 把多个对象包装到一起 xff
  • UML类图使用介绍

    文章目录 一 UML图1 什么是UML图2 类图概述3 类图的作用 二 类的表示方式举个栗子 三 类与类之间关系的表示方式1 关联关系 xff08 1 xff09 单向关联 xff08 2 xff09 双向关联 xff08 3 xff09
  • 没有U盘纯硬盘安装linux之Archlinux

    安装系统用U盘是很方便的 xff0c 无奈我的U盘莫名奇妙的坏了 因为疫情影响 xff0c 买个U盘要挺久时间才能到达 所以我就想能不能使用硬盘来安装linux系统呢 试试吧 xff01 一方面可以省下一个U盘的钱 xff0c 另一方面 x
  • 【Java】微信聊天记录特定词过滤

    微信聊天记录特定词过滤 通常微信聊天记录中包含文本 图片 语音 视频等 xff0c 这些数据显然需要用一个统一的数据结构存储和读取数据 然后把聊天记录中文本数据扣出 寻找是否含指定词 本题选做 Message类 xff0c 描述一条聊天数据
  • linux远程windows桌面

    remmina Remmina 是用 GTK 编写的远程桌面客户端 xff0c 来自 FreeRDP 项目 它支持以下协议 xff1a SSH VNC RDP NX XDMCP 图形化的操作界面用起来很简单方便 安装 span class
  • i3wm nm-applet每次开机都要输入wifi密码的解决办法

    在KDE中使用 xff0c 每次开机不需要输入wifi密码就可以直接上网了 为了提供开发效率 我尝试使用i3wm做为开发环境 但是每次开机都要输入wifi密码很不方便 解决办法 查了一下wiki 好像是因为没有安装GNOME Keyring
  • MySQL limit分页

    之前写了篇 SpringBoot中封装jdbc工具类 xff0c 最近在使用的过程中发现没有分页功能 所以就打算在封装一下分页算法 相关文章 xff1a https blog csdn net lxyoucan article detail
  • i3wm中Chrome不保存密码

    最近切到i3wm中发现一个问题 xff0c 在这个环境下使用Chrome密码不会被保存 xff0c 也无法使用密码自动填充 使用起来非常的不方便 然而在KDE中使用chrome一切正常 xff0c 一切到i3wm就无法使用了 而且所有网站都
  • linux 开机自动登录i3wm

    最近在我的物理机上打算使用archlinux当主力机 但是因为我这台笔记本电脑最近刚发布的 xff0c 安装archlinux无法正确识别笔记本电脑自带的键盘 只能外接usb键盘 xff0c 或者使用蓝牙键盘了 因为我的usb键盘过于厚重
  • linux命令行连接蓝牙键盘

    在KDE的图形界面连接蓝牙设备非常的方便 xff0c 图形化点点就行了 图形化连接 基础 span class token comment 安装 span span class token function sudo span pacman
  • Java爬虫html解析神器Jsoup

    jsoup是一个用于解析 提取 操作HTML的开源Java函式库 在我眼里就是一个java版本的jquery xff0c 非常强大 xff01 xff01 xff01 jsoup在2009年由亚马逊软件开发经理Jonathan Hedley
  • kitty终端ranger预览图片

    之前在macOS中使用iterm2终端用ranger预览图片正常 最近切到archlinux了 xff0c 使用kitty终端模拟器 也想实现ranger中预览图片 相关阅读 xff1a 终端中的文件管理器ranger 视频 https b
  • 设计原则之【接口隔离原则】,我只做我能做的事

    文章目录 一 什么是接口隔离原则二 实例三 总结接口隔离原则与单一职责原则的区别 一 什么是接口隔离原则 接口隔离原则 xff08 Interface Segregation Principle ISP xff09 是指用多个专门的接口 x
  • java: You aren‘t using a compiler supported by lombok

    在学习这个RuoYi Vue Process项目的时候 xff0c 编译报错 https gitee com calvinhwang123 RuoYi Vue Process 报错信息 编译警告信息 java You aren 39 t u
  • i3wm中截图软件flameshot deepin-screenshot

    archlinux中使用i3wm窗口管理器 xff0c 有什么好的截图软件呢 xff1f 环境 先看一下我的环境信息 xff1a span class token variable span class token variable 96
  • i3wm开启自动设置显示器顺序方向分辨率

    多屏使用linux系统时 xff0c 在KDE中设置好显示器的分辨率和显示器顺序 下次开机启动可以记住之前的配置 在i3桌面环境中 xff0c 每次开机都要重新设置一下 xff0c 这就很不人性化了 于是我想找个解决办法 xrandr 使用
  • 汉化Swagger springfox-swagger-ui-2.9.2.jar

    在若依的文档中看到汉化swagger的方法 xff0c 自己尝试怎么也不能成功 后来经过查阅各种文档发现 若依文档中提到的方法仅对 springfox swagger ui 2 7版本生效 对springfox swagger ui 2 9
  • Swagger基本示例

    类注解 span class token annotation punctuation 64 RestController span span class token annotation punctuation 64 RequestMap
  • Spring boot redis java.io.IOException: 远程主机强迫关闭了一个现有的连接

    现象 在测试环境部署的若依版本 xff0c 经常会报如下的错误 而我在开发环境基本没有遇到过 span class token number 16 span span class token operator span span class