部署应用报错
部署应用发现后台日志有报错,信息如下
Mar 01, 2024 2:23:06 PM com.mchange.v2.log.slf4j.Slf4jMLog$Slf4jMLogger$WarnLogger log
WARNING: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@6f5f54ee -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
Mar 01, 2024 2:23:06 PM com.mchange.v2.log.slf4j.Slf4jMLog$Slf4jMLogger$WarnLogger log
WARNING: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@6f5f54ee -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
问题处理
在WebLogic部署环境中,数据源的配置通常在应用层面进行管理,特别是当WebLogic服务器本身没有设定数据源时。这些配置一般存放在hibernate.cfg.xml文件中,该文件包含了Hibernate框架所需的数据库连接池(c3p0)的参数设置。
原始的c3p0参数配置如下:
<property name="maxPoolSize" value="10"/>
<property name="minPoolSize" value="3"/>
<property name="maxIdleTime" value="180" />
上述配置指定了连接池的最大连接数为10,最小连接数为3,以及连接的最大空闲时间为180秒。
为了优化性能,你可能需要根据实际情况调整这些参数。下面是一组修改后的c3p0参数设置:
<property name="maxPoolSize" value="30" />
<property name="minPoolSize" value="10" />
<property name="maxIdleTime" value="1800" />
<property name="maxStatements" value="0" />
<property name="initialPoolSize" value="10" />
<property name="idleConnectionTestPeriod" value="1800" />
在这些新的参数中:
maxPoolSize被增加到30,这意味着连接池可以拥有更多的连接,从而可能提升并发处理能力。minPoolSize被设置为10,确保即使空闲连接也至少有10个连接可供使用。maxIdleTime被增加到1800秒,允许连接在空闲状态下保持活动状态更长时间,减少了频繁建立新连接的需要。maxStatements被设置为0表示不缓存预处理语句,这有助于减少内存消耗。initialPoolSize设置为10,意味着启动时连接池将创建10个连接。idleConnectionTestPeriod设置为1800秒,表明每个空闲连接每30分钟会进行一次测试,以确认它们是否仍有效。
此外,对应的c3p0属性设置如下:
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">30</property>
<property name="c3p0.time_out">1800</property>
<property name="c3p0.max_statement">50</property>
这些属性与之前的XML配置项相对应,并提供了相同的功能,但采用了不同的表示形式。通过这些调整,你可以改善数据库连接池的性能,减少资源竞争,提高应用程序的稳定性和响应速度。然而,请注意,在调整这些参数时需要谨慎,因为增加连接数可能会增加数据库的负载,而减少连接测试频率可能会导致无效连接的累积。因此,建议在修改参数后进行彻底的测试,以确保系统整体性能得到实际提升。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




