最近运行项目时,初始化c3p0数据库连接池的时候报了死锁错误,

APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 

后面一堆java.sql.SQLException:违法协议。

这哪受得了啊,第一次遇到这种情况,之前项目启动还是好好的。好多说jdbc配置文件的内容是否正确,用户名和密码,连接地址之内的。这些都已经确认过了还是这样。然后又说是驱动不匹配,还了jdbc的驱动还是一个样,顿时心态炸裂。无奈之下,写了个jdbc项目,简单查询一下,看是否能连上数据库。我草,竟然能查出来,这究竟是咋的了啊。又说c3p0有bug,缓存机制导致的什么问题,然后让在hibernate配置问价加个取消缓存的什么命令,关键是之前没改启动好好的啊。啥都尝试了,第三天pl/sql连接数据库提示密码还有几天要过期,问我要不要现在改密码,之前提示我都没在意,都点了no,今天一想,要不就改了吧,反正也快到时间了,改了密码立马就跑起来了,也是日了dog了,ORACLE还有这种机制么。是ORACLE还是c3p0的锅我是不知道.


哇!这哪吃的消啊,花了三天时间排错,改个数据库密码就好了!


最后修改:2022 年 07 月 16 日
如果觉得我的文章对你有用,请随意赞赏