首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建到MySQL的多个连接的JBoss连接池

创建到MySQL的多个连接的JBoss连接池
EN

Stack Overflow用户
提问于 2011-03-18 22:46:15
回答 2查看 6.1K关注 0票数 2

我们使用的设置是JBoss 4.2.2.GA / Hibernate 3.2.4.sp1 / SpringMVC 2.5 / MySQL 5.0.27。

以下是mysql-ds.xml文件:

代码语言:javascript
复制
<datasources>
  <local-tx-datasource>
    <jndi-name>myDS</jndi-name>
    <connection-url>jdbc:mysql://127.0.0.1:3306/database?zeroDateTimeBehavior=convertToNull&amp;useConfigs=maxPerformance</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>user</user-name>
    <password>password<password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    <blocking-timeout-millis>30000</blocking-timeout-millis>
    <idle-timeout-minutes>1</idle-timeout-minutes>
    <metadata>
       <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

看一下JMX-service=ManagedConnectionPool -> service=ManagedConnectionPool,我们使用的是JBossManagedConnectionPool

现在,问题是,即使流量一般(网站昨天吸引了大约5000次访问/ 15000 pageViews ),MySQL上仍有96个线程处于休眠模式(使用show processlist获得)。

这些确实在时间上减少了,但我真正的问题是,为什么jboss创建了这么多连接?MySQL上的MaxConnections = 250。

感谢任何人的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-28 18:34:47

经过大量分析,我们发现Hibernate在后端发出了太多的查询来加载某些映射,因为mysqladmin status命令每秒提供500个查询。

解决这个问题也应该解决这个问题。

感谢每一个帮助过我的人。

票数 1
EN

Stack Overflow用户

发布于 2011-03-18 23:14:18

当我遇到这种情况时,问题是一些hibernate会话没有关闭,这导致了连接泄漏。检查您的会话关闭语句是否在finally块中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5353636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档