Heim > Datenbank > MySQL-Tutorial > 数据库连接超时问题(求解)

数据库连接超时问题(求解)

WBOY
Freigeben: 2016-06-07 15:41:36
Original
1713 Leute haben es durchsucht

问题出现的背景: APP框架,生产者和消费者模式,数据源配置包括mysql(mysql的分支maria DB)的数据源和oracle。 问题描述: 初始化时注册c3p0没有问题,在第一次使用数据库连接(此时创建c3p0连接池)时也没异常,但获取数据库连接时异常(如下): java.s

问题出现的背景:

APP框架,生产者和消费者模式,数据源配置包括mysql(mysql的分支maria DB)的数据源和oracle。

问题描述:

初始化时注册c3p0没有问题,在第一次使用数据库连接(此时创建c3p0连接池)时也没异常,但获取数据库连接时异常(如下):

java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

......

Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@6bf51e5c -- timeout at awaitAvailable()

......

java.lang.IllegalArgumentException: Connection must not be null

......

问题出现的规律:

无规律可言,时不时的,有时候隔一次出现一次连接超时,有时候可能连续几次都会超时。但只要第一次连接成功,运行就没问题。

 

造成数据库连接超时问题的原因,网上解释很多,大都是和c3p0配置有关,但都不能解决上述问题。

 

可能的原因分析:

和数据源有关。

为什么这么说?

1、之前项目(只有oracle数据源)运行一直没问题,本次改动就是新增了mysql(mysql的分支maria DB)数据源。

2、把其中一个数据源配置去掉,运行也没问题。

综上,怀疑:

是不是不能同时引用多个不同数据源?但此理由好像完全站不住脚。

是不是有可能和网络(数据库服务器)有关?

=求解

 

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage