温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

APPARENT DEADLOCK!!! 错误解决过程

发布时间:2020-07-10 06:58:00 来源:网络 阅读:2814 作者:zhongguorenmin8 栏目:关系型数据库
  1. 项目环境

    数据库:oracle

    中间件:WAS



2.  问题描述

    2015.05.21(是个好日子),早上发现was后台报错如下:

[15-5-21 7:31:01:171 CST] 00000027 SystemErr     R com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@498e498e -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!



3.问题解决过程

               

    从网上百度下这个错误,分析大致如下:

 原因是 hibernate 使用c3p0连接orcale数据后不会释放 , c3p0的最大连接数为100,但显然c3p0有Bug,导致数据库连接池不够用,导致进程锁死。

后换Proxool后,观察正常。

          参考网址:http://blog.csdn.net/chinesesword/article/details/7902702 

                        http://blog.sina.com.cn/s/blog_5491164b0100sxtc.html 

                        http://myzee.blog.163.com/blog/static/2088712420121110139423/ 

                        http://www.blogjava.net/liuyimx/articles/296849.html 




综合参考网站,修改了oracle的连接数如下:

             1、修改Oracle最大连接数的方法

   
   a、以sysdba身份登陆PL/SQL 或者 Worksheet
   b、查询目前连接数
      show parameter processes;
   c、更改系统连接数
      alter system set processes=1000 scope=spfile;
   d、创建pfile
      create pfile from spfile;
   e、重启Oracle服务或重启Oracle服务器


修改后,当时报错指向是c3p0的设置参数,没有报APPARENT DEADLOCK!!!错误,但是过了几个小时后开始报APPARENT DEADLOCK!!!错误


联系开发人员开发人员告知:

在\WEB-INF\classes\hibernate.cfg.xml文件中去掉相关配置

APPARENT DEADLOCK!!! 错误解决过程

<!--<property name="hibernate.c3p0.min_size">5</property>-->

<!-- <property name="hibernate.c3p0.max_size">500</property>-->

<!-- <property name="hibernate.c3p0.timeout">1800</property>-->

<!-- <property name="hibernate.c3p0.max_statements">50</property> -->

APPARENT DEADLOCK!!! 错误解决过程---即将hibernate配置文件中的c3p0配置参数注释掉


重启was ,然后跑个etl任务测试下,没有发现再次报此错误。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI