【发布时间】:2011-03-18 14:46:15
【问题描述】:
我们正在使用 JBoss 4.2.2.GA / Hibernate 3.2.4.sp1 / SpringMVC 2.5 / MySQL 5.0.27 的设置。
下面是mysql-ds.xml文件:
<datasources>
<local-tx-datasource>
<jndi-name>myDS</jndi-name>
<connection-url>jdbc:mysql://127.0.0.1:3306/database?zeroDateTimeBehavior=convertToNull&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-Console -> service=ManagedConnectionPool,我们使用的是JBossManagedConnectionPool。
现在,问题是即使流量平庸(网站昨天吸引了大约 5000 次访问/15000 次页面浏览),MySQL 上仍有 96 个线程处于睡眠模式(使用show processlist)。
这些确实会减少时间,但我真正的问题是,为什么 jboss 创建这么多连接? MySQL 上的 MaxConnections = 250。
任何帮助表示赞赏!
【问题讨论】:
-
MySQL 刚刚由于“连接太多”而崩溃。现在这是高优先级,所以请提供任何帮助......另外,根据 Zoltan 的评论,管理我的会话不是连接池的工作吗?我还能如何重用连接?如果有帮助,我可以简要介绍一下代码是如何在我的应用程序中设置和使用的!!
-
嗯到目前为止没有回复???我们需要尽快解决这个问题!!请帮助....
标签: java mysql jboss connection-pooling