为何重启tomcat才能获取mysql最新数据_tomcat?mysql?数据库操作?哪的问题??!

遇到一个现象,即当服务器网页无法访问时,只有无数据库交互的页面可以正常访问。重启Tomcat后,问题得到解决。疑似MySQL8小时后自动断开连接,尝试网上解决方案无效。此外,频繁刷新包含数据库操作的页面会导致Tomcat崩溃,同样需要重启恢复。问题可能涉及Tomcat与MySQL的连接管理,寻求解决方案。
摘要由CSDN通过智能技术生成

遇见一问题,tomcat或者mysql老是死掉,其实就是服务器网页不能访问,但是没有数据库操作的页面却可以访问,重启tomcat服务

就马上能够访问了

搜了一下,mysql8小时就会自动断掉,用网上的设置,好像都没起作用

而且发现一个新问题,就是在你有数据库操作的页面一直按F5,不一会tomcat就会死掉,也是重启解决

请问大侠们,这究竟是哪里的问题呢?该如何解决

数据库类

DBConnectionManager

import java.io.*;

import java.sql.*;

import java.util.*;

import java.util.Date;

/**

* 管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接

* 池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例.

* @version 1.0

*/

public class DBConnectionManager

{

static private DBConnectionManager instance; // 唯一实例

static private int clients;

private Vector drivers = new Vector();

private PrintWriter log;

private Hashtable pools = new Hashtable();

/**

* 返回唯一实例.如果是第一次调用此方法,则创建实例

*

* @return DBConnectionManager 唯一实例

*/

static synchronized public DBConnectionManager getInstance()

{

if (instance == null)

{

instance = new DBConnectionManager();

}

clients++;

return instance;

}

/**

* 建构函数私有以防止其它对象创建本类实例

*/

private DBConnectionManager()

{

init();

}

/**

* 将连接对象返回给由名字指定的连接池

*

* @param name 在属性文件中定义的连接池名字

* @param con 连接对象

*/

public void freeConnection(String name, Connection con)

{

DBConnectionPool pool = (DBConnectionPool) pools.get(name);

if (pool != null)

{

pool.freeConnection(con);

}

}

/**

* 获得一个可用的(空闲的)连接.如果没有可用连接,且已有连接数小于最大连接数

* 限制,则创建并返回新连接

*

* @param name 在属性文件中定义的连接池名字

* @return Connection 可用连接或null

*/

public Connection getConnection(String name)

{

DBConnectionPool pool = (DBConnectionPool) pools.get(name);

if (pool != null)

{

return pool.getConnection();

}

return null;

}

/**

* 获得一个可用连接.若没有可用连接,且已有连接数小于最大连接数限制,

* 则创建并返回新连接.否则,在指定的时间内等待其它线程释放连接.

*

* @param name 连接池名字

* @param time 以毫秒计的等待时间

* @return Connection 可用连接或null

*/

public Connection getConnection(String name, long time)

{

DBConnectionPool pool = (DBConnectionPool) pools.get(name);

if (pool != null)

{

return pool.getConnection(time);

}

return null;

}

/**

* 关闭所有连接,撤销驱动程序的注册

*/

public synchronized void release()

{

// 等待直到最后一个客户程序调用

if (--clients != 0)

{

return;

}

Enumeration allPools = pools.elements();

while (allPools.hasMoreElements())

{

DBConnectionPool pool = (DBConnectionPool) allPools.nextElement();

pool.release();

}

Enumeration allDrivers = drivers.elements();

while (allDrivers.hasMoreElements())

{

Dri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值