暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

weblogic部署应用的时候报错数据源问题

原创 伟鹏 2024-06-19
166

部署应用报错

部署应用发现后台日志有报错,信息如下

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论