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: 远程主机强迫关闭了一个现有的连接 的相关文章

  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • 如何在 Spring-JUnit 测试中设置 JNDI 查找?

    我正在使用 Maven 3 0 3 Spring 3 1 0 RELEASE 和 JUnit 4 8 1 如何在容器外部创建 JNDI 功能 在我的例子中是 JBoss 我认为 Spring 的 jndiTemplate 可以解决这个问题
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 将流转换为 IntStream

    我有一种感觉 我在这里错过了一些东西 我发现自己做了以下事情 private static int getHighestValue Map
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何访问JAR文件中的Maven资源? [复制]

    这个问题在这里已经有答案了 我有一个使用 Maven 构建的 Java 应用程序 我有一个资源文件夹com pkg resources 我需要从中访问文件 例如directory txt 我一直在查看各种教程和其他答案 但似乎没有一个对我有
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 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