java中数据库重连

2023-10-27

当数据库重新启动,而导致程序无法连接,需要重启tomcat才能重连的解决办法

 

方法一、将连接池由DBCP改为C3P0
   c3p0连接池本身具有数据库重连机制:
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" name="TagDataSource,dataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClassName}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxPoolSize" value="100"/>
        <property name="checkoutTimeout" value="10000"/>
        <property name="maxIdleTime" value="60"/>
        <property name="maxStatements" value="100"/>
        <property name="idleConnectionTestPeriod" value="60"/>
        <property name="autoCommitOnClose" value="true"/>
        <property name="breakAfterAcquireFailure" value="true"/>
    </bean>

 

方法二、数据源DBCP不变,只要在原来的配置上进行如下修改:
    1、在配置文件中每个数据源增加:
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" name="TagDataSource,dataSource">
            ......
            <property name="validationQuery">
     <value>${jdbc.validationQuery}</value>
    </property>
 </bean>

    2、在xd.properties每个数据源配置加上:
 jdbc.validationQuery=select count(1) from dual  
 或者jdbc.validationQuery=select sysdate from dual只要是执行一句sql语句就行了。

 

 

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

java中数据库重连 的相关文章

随机推荐

  • Cobalt-Strike基本使用

    Cobalt Strike 简介 Cobalt Strike 简称为CS 是一款基于java的渗透测试工具 尤其是后渗透阶段 自3 0开始已经不再使用Metasploit框架而作为一个独立的平台使用 这款工具有其他很多渗透测试工具没有的团队
  • Git-远程仓库(GitLab)

    系列文章 Git 入门小结 Git 分支 Git 常用命令 Git 注册远程仓库 Git 远程仓库 1 生成SSH KEY ssh keygen t rsa C youremail xx com git里注册的邮箱 可以用git confi
  • MybatisPlus更新时会自动忽略传值为NULL的字段

    三种方案解决MybatisPlus更新时会自动忽略传值为NULL的字段 一 背景 二 解决方案 2 1 使用 TableField updateStrategy FieldStrategy IGNORED 注解添加在字段上 在枚举 Fiel
  • Python数据分析与大数据技术与应用高级教程

    Python数据分析与大数据技术与应用高级教程 教程地址 https www piaodoo com 课程目标 虚拟现实 增强现实及混合现实技术既密切相关 又有显著差别 培训课程旨在帮助学员深入理解这三者的思想精髓及其统一技术构架 梳理出V
  • Hexo 完整使用教程

    官网 官网地址 https hexo io zh cn 环境 1 node hexo 基于 node 所以首先要安装node环境 2 npm 包管理工具 环境配置请参考本站对应安装教程 快速开始 安装 hexo npm install g
  • Mysql数据库内联查询、左连接查询、右连接查询、自连接查询介绍

    目录 一 内联查询 1 inner join 只查询键值一致 交叉 的部分 2 演示 二 左连接 1 left join 以左表为标准 查询输出左表中没有的字段信息 2 演示 三 右连接 1 right join 以右表为标准 查询输出右表
  • 区块如何防篡改_一种区块链防篡改技术的优化方法与流程

    本发明涉及区块链技术领域 具体涉及一种区块链防篡改技术的优化方法 背景技术 区块链是比特币等数字虚拟货币的底层技术 通过去中心化的数据记录 由全网所有的节点共同维护数据 实现安全地存储数据 具有不可伪造性 不可篡改性 可追溯性 匿名性等特点
  • Java编程练习之:水仙花数

    文章目录 1 题目 2 思路 3 代码 4 运行结果 1 题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153 1的三次方 5的三次方 3的三次方 2 思路 这
  • 线程池的简介说明

    在多线程应用程序开发中 如果我们不使用线程池 则每次创建和销毁线程将会消耗宝贵的CPU 内存资源 所以我们必须创建一个线程池 线程池的功能 线程池用于管理线程 用于减少系统资源消耗 创建一个线程池 实现思路 借助线程池类Executor 借
  • Java Map集合 体系

    1 Collection集合 1 1 常用集合的体系 mermaid svg dmg6k5CugOsij3Ax label font family trebuchet ms verdana arial font family var mer
  • openGL之API学习(九十四)几何着色器的几个参数设置含义

    设定输入几何图元的类型 比如GL TRIANGLES glProgramParameteriEXT program GL GEOMETRY INPUT TYPE EXT inputGeometryType 设定输出几何图元的类型 比如GL
  • Leetcode之KMP字符串算法

    针对题目28题 实现strStr 功能找出needle在haystack字符串的第一个位置 否则返回 1 当然有暴力法 但是时间复杂度是O mn 而KMP算法提前计算出needle字符串的重复数据加以利用 j能够有效的回退到可能的位置 时间
  • 树干树叶点云分类

    将扫描的树木点云的树干树枝和树叶分类出来 后续放出程序代码
  • Cluster & Docker

    操作系统解决主要问题之一就是如何在一台机器上调度硬件资源 比如为一个进程分配cpu gpu 存储资源等 使得进程可以高效 按照预期地完成运行 云和互联网解决的主要问题之一是如何在多台机器之间调度硬件资源or调度信息资源 这就产生了更丰富架构
  • SpringCloud最新版环境集成-2021年11月

    总述 之前搞过SpringCloud项目 但版本是netflix维护的伦敦地铁站名称的版本 现在想做一下笔记 并尝试最新版本 看有什么变动没 结果还真有一堆坑 此项目集成了eureka feign ribbon hystrix zuul五大
  • 在.Net 6项目中设置MySql数据库的连接配置文件appsettings.json及在Program.cs中读取配置文件并向DI容器注册服务。

    1 配置一 配置好ConnectionStrings 通过ConnectionString动态读取ServerVersion 推荐使用 appsettings json ConnectionStrings MoviesDBContext s
  • MFC + 自定义类的序列化与反序列化

    使类可序列化需要五个主要步骤 从 CObject 派生类 或从 CObject 派生的某个类中派生 重写 Serialize 成员函数 使用 DECLARE SERIAL 宏 在类声明中 定义不带参数的构造函数 为类在实现文件中使用 IMP
  • SQL 删除表数据行与重置自动增长字段

    delete 语句 delete from tablename 表名 where ID 列名 x 表示删除数据表中ID列的值为x的数据行 在ID列设置了自动增长主键列的情况下 这种删除方式将会保留该数据行所占用的自动增长值 此后添加数据时此
  • Linux内嵌链表(sys/queue.h)详解

    Linux 内嵌链表 sys queue h 详解 queue 简介 SLIST STAILQ LIST TAILQ CIRCLEQ 例程 queue 简介 C语言不像C 语言可以使用STL 在编程中需要用到链表时 通常需要程序员重新设计链
  • java中数据库重连

    当数据库重新启动 而导致程序无法连接 需要重启tomcat才能重连的解决办法 方法一 将连接池由DBCP改为C3P0 c3p0连接池本身具有数据库重连机制