听起来好像已经找到了原因:您遇到了DNS问题,因此尝试通过名称挂起查找数据库,而通过IP连接到数据库则很好。您看到的c3p0消息表明尝试从数据库获取连接正在挂起(即,成功或失败都不会引发Exception)。最终,那些挂起的tasak耗尽了c3p0的线程池,您会看到APPARENT
DEADLOCK警告。
当您看到与语句相关的任务导致死锁时,user1516873建议的设置statementCacheNumDeferredCloseThreads很有用,但不太可能对您有所帮助。您正在等待池从数据库获取连接的尝试。
您应该做的主要事情是调试Web应用服务器上的DNS问题。尝试使用nslookup或dig之类的工具,查看是否可以按名称查找数据库服务器,结果是否很快出现或是否挂在查找中。根据您的描述,您很可能会在那里发现问题。



