当前位置: 首页 > news >正文

解决com.kingbase8.util.KSQLException: This _connection has been closed.

 问题描述

一个消息管理系统,系统采用kingbase8数据库,数据库采用单体模式,后台应用也采用springboot单体模式。系统正式上线后,出现几个JDBC响应的异常信息:

  • com.kingbase8.util.KSQLException: An I/O error occurred while sending to the backend.
  • java.net.SocketTimeoutException: Read timed out.
  • com.kingbase8.util.KSQLException: This _connection has been closed.
  • org.springframework.dao.DataAccessResourceFailureException: JDBC rollback; This _connection has been closed.; nested exception is com.kingbase8.util.KSQLException: This _connection has been closed.

完整错误日志如下:

2025-01-24 15:28:34.585 [http-nio-8015-exec-2] [1;31mERROR[0;39m [36mdruid.sql.Statement:148[0;39m - {conn-10720, pstmt-2487241} execute error. UPDATE ehc_task SET name = ?, event_type_code = ?, task_type = ?, start_time = ?, end_time = ?, start_time_cycle = ?, end_time_cycle = ?, event_type_name = ?, content = ?, is_flow = ?, initiator = ?, handle_status = ?, lamp_color = ?, status = ?, create_user_id = ?, create_user_name = ?, handle_dimension = ?, type = ?, task_uid = ?, union_id = ?, union_name = ?, is_expire = ?, is_urgent = ?, create_by = ?, create_time = ?, update_by = ?, update_time = ? WHERE id = ? AND is_del = 0
java.sql.BatchUpdateException: Batch entry 0 UPDATE ehc_task SET name = '测试事件', event_type_code = 'SJSN', task_type = 1, start_time = '2025-01-01 00:00:00+08', end_time = '2025-01-27 00:00:00+08', start_time_cycle = '', end_time_cycle = '', event_type_name = '工作盯盯', content = '测试内容', is_flow = '0', initiator = '蹇杨', handle_status = 2, lamp_color = '#FFCE20', status = 2, create_user_id = '1802631429172006913', create_user_name = '蹇杨', handle_dimension = 2, type = 2, task_uid = '2a159287', union_id = 6, union_name = '成都市武侯区总工会', is_expire = '0', is_urgent = '0', create_by = '蹇杨', create_time = '2025-01-23 13:42:48.833+08', update_by = '朱燕', update_time = '2025-01-24 15:28:24.54+08' WHERE id = 1553 AND is_del = 0 was aborted: An I/O error occurred while sending to the backend.  Call getNextException to see other _errors in the batch.at com.kingbase8.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:286)at com.kingbase8.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:674)at com.kingbase8.jdbc.KbStatement.internalExecuteBatch_(KbStatement.java:1403)at com.kingbase8.jdbc.KbStatement.executeBatch(KbStatement.java:1438)at com.kingbase8.jdbc.KbPreparedStatement.executeBatch(KbPreparedStatement.java:3051)at com.alibaba.druid.filter.FilterChainImpl.statement_executeBatch(FilterChainImpl.java:3101)at com.alibaba.druid.filter.FilterAdapter.statement_executeBatch(FilterAdapter.java:2506)at com.alibaba.druid.filter.FilterEventAdapter.statement_executeBatch(FilterEventAdapter.java:273)at com.alibaba.druid.filter.FilterChainImpl.statement_executeBatch(FilterChainImpl.java:3099)at com.alibaba.druid.filter.FilterAdapter.statement_executeBatch(FilterAdapter.java:2506)at com.alibaba.druid.filter.FilterEventAdapter.statement_executeBatch(FilterEventAdapter.java:273)at com.alibaba.druid.filter.FilterChainImpl.statement_executeBatch(FilterChainImpl.java:3099)at com.alibaba.druid.proxy.jdbc.StatementProxyImpl.executeBatch(StatementProxyImpl.java:198)at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeBatch(DruidPooledPreparedStatement.java:551)at org.apache.ibatis.executor.BatchExecutor.doFlushStatements(BatchExecutor.java:123)at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:129)at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:122)at org.apache.ibatis.executor.CachingExecutor.flushStatements(CachingExecutor.java:114)at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)at com.sun.proxy.$Proxy401.flushStatements(Unknown Source)at sun.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)at com.sun.proxy.$Proxy401.flushStatements(Unknown Source)at org.apache.ibatis.session.defaults.DefaultSqlSession.flushStatements(DefaultSqlSession.java:249)at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.lambda$executeBatch$1(SqlHelper.java:224)at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:182)at com.baomidou.mybatisplus.extension.toolkit.SqlHelper.executeBatch(SqlHelper.java:217)at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.executeBatch(ServiceImpl.java:240)at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.updateBatchById(ServiceImpl.java:192)at com.baomidou.mybatisplus.extension.service.IService.updateBatchById(IService.java:268)at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)at org.jeecg.modules.eventhub.dao.impl.EhcTaskDaoImpl$$EnhancerBySpringCGLIB$$7771ddc5.updateBatchById(<generated>)at org.jeecg.modules.base.task.TaskJob.updateLampColor(TaskJob.java:306)at org.jeecg.modules.base.task.TaskJob$$FastClassBySpringCGLIB$$13b3c93b.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704)at org.jeecg.modules.base.task.TaskJob$$EnhancerBySpringCGLIB$$aa5db2df.updateLampColor(<generated>)at org.jeecg.modules.eventhub.

相关文章:

解决com.kingbase8.util.KSQLException: This _connection has been closed.

问题描述 一个消息管理系统,系统采用kingbase8数据库,数据库采用单体模式,后台应用也采用springboot单体模式。系统正式上线后,出现几个JDBC响应的异常信息: com.kingbase8.util.KSQLException: An I/O error occurred while sending to the backend.java.net.SocketTime…...

openAI官方prompt技巧(二)

1. 赋予 ChatGPT 角色 为 ChatGPT 指定一个角色&#xff0c;让其从特定的身份或视角回答问题。这有助于生成针对特定受众或场景的定制化回答。 例如&#xff1a; 你是一名数据分析师&#xff0c;负责我们的市场营销团队。请总结上个季度的营销活动表现&#xff0c;并强调与未…...

【非 root 用户下全局使用静态编译的 FFmpeg】

在非 root 用户下全局使用静态编译的 FFmpeg&#xff0c;可以按照以下方法操作&#xff1a; 1. 下载静态编译的 FFmpeg 如果你还没有下载静态编译的 FFmpeg&#xff0c;可以从官方网站获取&#xff1a; wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd6…...

【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统

前言 本文主要介绍我最近开发的一个个人实战项目&#xff0c;“基于深度学习的人脸门禁 IPC 智能安防监控系统”&#xff0c;全程满帧流畅运行。这个项目我目前全网搜了一圈&#xff0c;还没发现有相关类型的开源项目。这个项目只要稍微改进下&#xff0c;就可以变成市面上目前…...

前端布局与交互实现技巧

前端布局与交互实现技巧 1. 保持盒子在中间位置 在网页设计中&#xff0c;经常需要将某个元素居中显示。以下是一种常见的实现方式&#xff1a; HTML 结构 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><m…...

idea 找不到或者无法加载主类

idea项目&#xff0c;之前一直是正常运行的&#xff0c;放假了之后再回来就遇到启动不了的问题。 WebApplication这个类右键运行的时候&#xff0c;也提示找不到主类。 对于这种之前运行没有问题&#xff0c;突然出问题的项目。 我的点是没有改动代码和数据的情况下项目就跑不起…...

Flink 调用海豚调度器 SQL 脚本实现1份SQL流批一体化的方案和可运行的代码实例

目录 一、流批一体化概述 二、Flink 与海豚调度器结合实现流批一体化的好处 2.1 代码复用性增强 2.2 开发和维护成本降低 2.3 数据一致性保证 2.4 提高系统的灵活性和可扩展性 三、实现思路步骤 3.1 环境准备 3.2 编写 SQL 脚本并上传到海豚调度器 3.3 实现资源下载功…...

ES6 Map 数据结构是用总结

1. Map 基本概念 Map 是 ES6 提供的新的数据结构&#xff0c;它类似于对象&#xff0c;但是"键"的范围不限于字符串&#xff0c;各种类型的值&#xff08;包括对象&#xff09;都可以当作键。Map 也可以跟踪键值对的原始插入顺序。 1.1 基本用法 // 创建一个空Map…...

go结构体详解

结构体简介 Golang 中没有“类”的概念&#xff0c;Golang 中的结构体和其他语言中的类有点相似。和其他面向对象语言中的类相比&#xff0c;Golang 中的结构体具有更高的扩展性和灵活性。 Golang 中的基础数据类型可以表示一些事物的基本属性&#xff0c;但是当我们想表达一…...

机器学习-关于线性回归的表示方式和矩阵的基本运算规则

最近在学习机器学习的过程中&#xff0c;发现关于线性回归的表示和矩阵的运算容易费解&#xff0c;而且随着学习的深入容易搞混&#xff0c;因此特意做了一些研究&#xff0c;并且记录下来和大家分享。 一、线性模型有哪些表示方式&#xff1f; 器学习中&#xff0c;线性模型…...

kafka 3.5.0 raft协议安装

前言 最近做项目&#xff0c;需要使用kafka进行通信&#xff0c;且只能使用kafka&#xff0c;笔者没有测试集群&#xff0c;就自己搭建了kafka集群&#xff0c;实际上笔者在很早之前就搭建了&#xff0c;因为当时还是zookeeper&#xff08;简称ZK&#xff09;注册元数据&#…...

后台管理系统网页开发

CSS样式代码 /* 后台管理系统样式文件 */ #container{ width:100%; height:100%; /* background-color:antiquewhite;*/ display:flex;} /* 左侧导航区域:宽度300px*/ .left{ width:300px; height: 100%; background-color:#203453; display:flex; flex-direction:column; jus…...

使用一个大语言模型对另一个大语言模型进行“调教”

使用一个大语言模型对另一个大语言模型进行“调教”&#xff08;通常称为微调或适配&#xff09;&#xff0c;是一种常见的技术手段&#xff0c;用于让目标模型更好地适应特定的任务、领域或风格。以下是基于搜索结果整理的详细步骤和方法&#xff1a; 1.准备工作 安装必要的…...

golang使用sqlite3,开启wal模式,并发读写

因为sqlite是基于文件的&#xff0c;所以默认情况下&#xff0c;sqlite是不支持并发读写的&#xff0c;即写操作会阻塞其他操作&#xff0c;同时sqlite也很容易就产生死锁。 但是作为一个使用广泛的离线数据库&#xff0c;从sqlite3.7.0版本开始&#xff08;SQLite Release 3.…...

如何利用maven更优雅的打包

最近在客户现场部署项目&#xff0c;有两套环境&#xff0c;无法连接互联网&#xff0c;两套环境之间也是完全隔离&#xff0c;于是问题就来了&#xff0c;每次都要远程到公司电脑改完代码&#xff0c;打包&#xff0c;通过网盘&#xff08;如果没有会员&#xff0c;上传下载慢…...

音频进阶学习十二——Z变换一(Z变换、收敛域、性质与定理)

文章目录 前言一、Z变换1.Z变换的作用2.Z变换公式3.Z的状态表示1&#xff09; r 1 r1 r12&#xff09; 0 < r < 1 0<r<1 0<r<13&#xff09; r > 1 r>1 r>1 4.关于Z的解释 二、收敛域1.收敛域的定义2.收敛域的表示方式3.ROC的分析1&#xff09;当 …...

cursor指令工具

Cursor 工具使用指南与实例 工具概览 Cursor 提供了一系列强大的工具来帮助开发者提高工作效率。本指南将通过具体实例来展示这些工具的使用方法。 1. 目录文件操作 1.1 查看目录内容 (list_dir) 使用 list_dir 命令可以查看指定目录下的文件结构: 示例: list_dir log…...

MySQL 主从读写分离实现方案(一)—MariaDB MaxScale实现mysql8读写分离

一&#xff1a;MaxScale 是干什么的&#xff1f;? MaxScale是maridb开发的一个mysql数据中间件&#xff0c;其配置简单&#xff0c;能够实现读写分离&#xff0c;并且可以根据主从状态实现写库的自动切换&#xff0c;对多个从服务器能实现负载均衡。 二&#xff1a;MaxScale …...

阿里云 | DeepSeek人工智能大模型安装部署

ModelScope是阿里云人工智能大模型开源社区 ModelScope网络链接地址 https://www.modelscope.cn DeepSeek模型库网络链接地址 https://www.modelscope.cn/organization/deepseek-ai 如上所示&#xff0c;在阿里云人工智能大模型开源社区ModelScope中&#xff0c;使用阿里云…...

LLAMA-Factory安装教程(解决报错cannot allocate memory in static TLS block的问题)

步骤一&#xff1a; 下载基础镜像 # 配置docker DNS vi /etc/docker/daemon.json # daemon.json文件中 { "insecure-registries": ["https://swr.cn-east-317.qdrgznjszx.com"], "registry-mirrors": ["https://docker.mirrors.ustc.edu.c…...

PowerToys Text Extractor:Windows屏幕文字提取的终极解决方案

PowerToys Text Extractor&#xff1a;Windows屏幕文字提取的终极解决方案 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/P…...

OpenMemories-Tweak终极指南:5分钟解锁索尼相机所有隐藏功能

OpenMemories-Tweak终极指南&#xff1a;5分钟解锁索尼相机所有隐藏功能 【免费下载链接】OpenMemories-Tweak Unlock your Sony cameras settings 项目地址: https://gitcode.com/gh_mirrors/op/OpenMemories-Tweak 想要彻底解锁索尼相机的全部潜力吗&#xff1f;OpenM…...

基于特征图的机器学习模型选择:从静态规则到动态适应

1. 项目概述&#xff1a;从“凭感觉”到“有章法”的模型选择在机器学习项目的实战中&#xff0c;最让人头疼的环节之一&#xff0c;往往不是调参&#xff0c;而是最初那个看似简单的问题&#xff1a;我该用哪个模型&#xff1f;面对Scikit-Learn库里琳琅满目的算法&#xff0c…...

5分钟掌握BOTW存档编辑器:打造你的完美塞尔达传说冒险

5分钟掌握BOTW存档编辑器&#xff1a;打造你的完美塞尔达传说冒险 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想在《塞尔达传说&#xff1a;旷野之息》中自由探…...

Synopsys SpyGlass 2016迁移记:从老系统到Ubuntu 20.04的完整环境适配与降级运行实战

Synopsys SpyGlass 2016迁移记&#xff1a;从老系统到Ubuntu 20.04的完整环境适配与降级运行实战当企业面临EDA工具版本升级与操作系统迭代不同步的困境时&#xff0c;如何让老版本工具在新系统上稳定运行成为工程师必须掌握的生存技能。本文将详细记录将Synopsys SpyGlass 201…...

BabelDOC终极指南:如何完美保留PDF格式的专业文档翻译工具

BabelDOC终极指南&#xff1a;如何完美保留PDF格式的专业文档翻译工具 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 你是否曾为翻译PDF文档而烦恼&#xff1f;格式错乱、公式变形、排版混乱—…...

机器学习增强恒电位分子动力学:原子尺度模拟锂枝晶生长机制

1. 项目概述&#xff1a;当机器学习“遇见”分子动力学&#xff0c;我们如何看清锂枝晶的生长&#xff1f;在锂金属电池的研究中&#xff0c;锂枝晶的生长问题就像一个挥之不去的幽灵&#xff0c;它直接关系到电池的安全性和循环寿命。我们总在说“枝晶刺穿隔膜导致短路”&…...

小红书视频下载终极指南:5分钟掌握免费无水印批量下载技巧

小红书视频下载终极指南&#xff1a;5分钟掌握免费无水印批量下载技巧 【免费下载链接】XHS-Downloader 小红书&#xff08;XiaoHongShu、RedNote&#xff09;链接提取/作品采集工具&#xff1a;提取账号发布、收藏、点赞、专辑作品链接&#xff1b;提取搜索结果作品、用户链接…...

JMeter压测5大底层优化:线程模型、HTTP连接、Groovy脚本、JVM参数与分布式协同

1. 为什么90%的JMeter脚本在压测中“假成功”——从一个被忽略的线程组配置说起你有没有遇到过这样的情况&#xff1a;脚本在JMeter GUI里跑得飞快&#xff0c;聚合报告里TPS稳稳上200&#xff0c;响应时间平均80ms&#xff0c;看起来一切完美&#xff1b;可一上生产环境做真实…...

不是学框架,是看穿它

不是学框架&#xff0c;是看穿它&#xff1a;20 年政务开发里长出来的一种认知 写给那个拿到新框架先翻源码再写代码的自己。 文章目录不是学框架&#xff0c;是看穿它&#xff1a;20 年政务开发里长出来的一种认知从一个习惯说起一、看穿本质&#xff1a;框架在替你做什么例子…...