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

解决Spring Boot中Druid连接池“discard long time none received connection“警告

在使用Spring Boot结合Druid连接池时,开发者可能会遇到"discard long time none received connection"的警告信息。虽然这通常不会影响应用程序的正常运行,但这些警告信息可能会让人感到困扰。本文将探讨这个问题的原因,并提供几种解决方法。

问题现象

在使用Druid连接池的新版本(如1.2.5)时,控制台可能会时不时打印以下警告:

WARN  com.alibaba.druid.pool.DruidAbstractDataSource - discard long time none received connection. , jdbcUrl : [your-jdbc-url]

这表明Druid连接池检测到某些数据库连接已经超过了一定时间没有活动,因此被标记为长时间空闲并被丢弃。

产生原因

经过查看Druid的源码,发现这个问题的根源在于Druid连接池对MySQL连接的处理逻辑。在DruidAbstractDataSource类的testConnectionInternal方法中,如果连接空闲时间超过60秒,Druid会认为该连接已经不再有效,并将其丢弃。

if (valid && isMySql) {long lastPacketReceivedTimeMs = MySqlUtils.getLastPacketReceivedTimeMs(conn);if (lastPacketReceivedTimeMs > 0 && mysqlIdleMillis >= timeBetweenEvictionRunsMillis) {discardConnection(holder);LOG.warn("discard long time none received connection. " +", jdbcUrl : " + jdbcUrl + ", version : " + VERSION.getVersionNumber() +", lastPacketReceivedIdleMillis : " + mysqlIdleMillis);return false;}
}

解决办法

1. 修改Druid配置

一种解决方法是修改Druid的配置,通过设置druid.mysql.usePingMethod=false来避免使用MySQL的Ping方法来检查连接有效性。这可以通过以下两种方式实现:

  • 运行时配置:在运行参数中增加-Ddruid.mysql.usePingMethod=false

  • Spring配置:在Spring的配置文件中添加:

    spring:
    datasource:
    druid:
    mysql:
    usePingMethod: false

2. 调整数据库配置

另一种方法是调整数据库的配置,例如MySQL的wait_timeout参数,以增加数据库端的空闲超时时间,从而减少因为数据库端关闭连接而导致Druid报错的情况。

3. 代码层面的优化

最后,确保应用程序在使用数据库连接时,能够及时释放资源,避免不必要的连接泄露。

结语

虽然"discard long time none received connection"的警告可能不会直接影响应用程序的运行,但解决这个问题可以提高应用程序的稳定性,并减少不必要的资源浪费。希望本文提供的方法能够帮助你解决这个问题。

相关文章:

解决Spring Boot中Druid连接池“discard long time none received connection“警告

在使用Spring Boot结合Druid连接池时,开发者可能会遇到"discard long time none received connection"的警告信息。虽然这通常不会影响应用程序的正常运行,但这些警告信息可能会让人感到困扰。本文将探讨这个问题的原因,并提供几种…...

stm32常见的存储器应用

常用 STM32 存储器芯片介绍和应用 STM32 微控制器通常与多种存储器芯片一起工作,以下是几种常见的存储器类型及其应用: 1. 闪存(Flash Memory) STM32 内部的 闪存 是一种非易失性存储器,广泛用于存储程序代码和常驻…...

如何使用3D高斯分布进行环境建模

使用3D高斯分布来实现建模,主要是通过高斯分布的概率特性来描述空间中每个点的几何位置和不确定性。具体来说,3D高斯分布被用来表示点云数据中的每一个点或体素(voxel)的空间分布和不确定性,而不是单纯地存储每个点的坐…...

三级分类bug解决

文章目录 前端后端 前端 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org" lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&q…...

AxiosError: Network Error

不知怎么的&#xff0c;项目还在开发阶段&#xff0c;之前还好好的&#xff0c;玩儿了两天再一打开发现页面无法显示数据了&#xff0c;报错如下&#xff1a; 我以为是后端出问题了&#xff0c;但是后端控制台无报错&#xff0c;又用postman测试了一下&#xff0c;可以获取到数…...

CDefFolderMenu_MergeMenu函数分析之添加了分割线和属性菜单项两项

CDefFolderMenu_MergeMenu函数分析之添加了分割线和属性菜单项两项 第一部分&#xff1a; void CDefFolderMenu_MergeMenu(HINSTANCE hinst, UINT idMainMerge, UINT idPopupMerge, QCMINFO *pqcm) { UINT idMax pqcm->idCmdFirst; if (idMainMerge) { HME…...

mysql的源码包安装

安装方式一&#xff1a;&#xff08;编译好的直接安装&#xff09; 1.添加一块10G的硬盘&#xff0c;给root逻辑卷扩容 &#xff08;下面安装方式二有&#xff0c;一模一样的装就行&#xff0c;我就不写了&#xff0c;再写的话篇幅就太长了&#xff09; 2.下载编译好的源码包…...

win11系统无法打开软件_组策略无法打开_gpedit.msc不生效_为了对电脑进行保护,已经阻止此应用---Windows工作笔记057

碰到这个问题挺麻烦的,要用的软件打不开了. 其实解决方法就是去组策略中修改一个策略就可以了,但是: 先来说: 而且,使用cmd输入的gpedit.msc也打不开了. 这个怎么解决? @echo off pushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPo…...

【JAVA】io流之缓冲流

①BufferedInputStream、BufferedOutputStream&#xff08;适合读写非普通文本文件&#xff09; ②BufferedReader、BufferedWriter&#xff08;适合读写普通文本文件。&#xff09; 缓冲流的读写速度快&#xff0c;原理是&#xff1a;在内存中准备了一个缓存。读的时候从缓存中…...

from flask_session import Session 为什么是Session(app)这么用?

在 Flask 中&#xff0c;from flask_session import Session 和 Session(app) 的用法是为了配置和使用 Flask-Session 扩展&#xff0c;将用户的会话&#xff08;Session&#xff09;数据存储到服务器端&#xff08;如 Redis、数据库或文件系统&#xff09;&#xff0c;而不是默…...

AI赋能的未来城市:如何用智能化提升生活质量?

这会是我们憧憬的未来城市吗&#xff1f; 随着技术的不断进步和城市化进程的加速&#xff0c;现代城市面临着诸多挑战——交通拥堵、环境污染、能源消耗、人口老龄化等问题愈发突出。为了应对这些挑战&#xff0c;建设智慧城市已成为全球发展的重要趋势。在这一进程中&#xf…...

【Go】Go wire 依赖注入

1. wire 简介 wire 是一个 Golang 的依赖注入框架&#xff08;类比 Spring 框架提供的依赖注入功能&#xff09; ⭐ 官方文档&#xff1a;https://github.com/google/wire 这里关乎到编程世界当中一条好用的设计原则&#xff1a;A用到了B&#xff0c;那么B一定是通过依赖注入的…...

深度集成DeepSeek与Java开发:智能编码新纪元全攻略 [特殊字符]

一、DeepSeek&#xff1a;Java开发者的第二大脑 &#x1f9e0; 1.1 传统开发痛点VS智能开发体验 传统开发DeepSeek智能辅助效率提升对比手动编写重复代码一键生成模板代码代码量减少70%↑调试全靠断点日志智能定位缺陷根源问题排查时间缩短60%↓文档维护耗时费力自动生成更新…...

WEB前端将指定DOM生成图片并下载最佳实践(html2canvas)

前言&#xff1a; html2canvas 是一个 JavaScript 库&#xff0c;其主要作用是将 HTML 元素或其部分内容渲染为 Canvas 图像。通过它&#xff0c;开发者可以将网页中的任意 DOM 元素&#xff08;包括文本、图片、样式等&#xff09;转换为图片格式&#xff08;如 PNG 或 JPEG&…...

掌握.NET Core后端发布流程,如何部署后端应用?

无论你是刚接触.NET Core的新手还是已有经验的开发者&#xff0c;在这篇文章中你将会学习到一系列实用的发布技巧与最佳实践&#xff0c;帮助你高效顺利地将.NET Core后端应用部署到生产环境中 目录 程序发布操作 Docker容器注册表 文件夹发布 导入配置文件 网站运行操作 …...

深度学习学习笔记(34周)

目录 摘要 Abstracts 简介 Hourglass Module&#xff08;Hourglass 模块&#xff09; 网络结构 Intermediate Supervision&#xff08;中间监督&#xff09; 训练过程细节 评测结果 摘要 本周阅读了《Stacked Hourglass Networks for Human Pose Estimation》&#xf…...

C++ 设计模式-备忘录模式

游戏存档实现&#xff0c;包括撤销/重做、持久化存储、版本控制和内存管理 #include <iostream> #include <memory> #include <deque> #include <stack> #include <chrono> #include <fstream> #include <sstream> #include <ct…...

TOGAF之架构标准规范-信息系统架构 | 应用架构

TOGAF是工业级的企业架构标准规范&#xff0c;信息系统架构阶段是由数据架构阶段以及应用架构阶段构成&#xff0c;本文主要描述信息系统架构阶段中的应用架构阶段。 如上所示&#xff0c;信息系统架构&#xff08;Information Systems Architectures&#xff09;在TOGAF标准规…...

第一届网谷杯

统计四场的所有题目&#xff08;共计12题&#xff0c;四场比赛一共上了21题【包括换题】&#xff09; 随便记记&#xff0c;以免老题复用&#xff08;已经复用了&#xff09; Web 文件包含 1 伪协议 http://120.202.175.143:8011/?cphp://filter/convert.base64-encode/reso…...

Linux(ubuntu) GPU CUDA 构建Docker镜像

一、创建Dockerfile FROM ubuntu:20.04#非交互式&#xff0c;以快速运行自动化任务或脚本&#xff0c;无需图形界面 ENV DEBIAN_FRONTENDnoninteractive# 安装基础工具 RUN apt-get update && apt-get install -y \curl \wget \git \build-essential \software-proper…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...