首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接池下降中的Jboss EAP 6.2 AvailableCount

连接池下降中的Jboss EAP 6.2 AvailableCount
EN

Stack Overflow用户
提问于 2017-03-08 06:46:49
回答 2查看 1.3K关注 0票数 0

1.我们有一个J2EE应用程序,它使用Servlets和JSP运行在Jboss 6.2上,并使用 server数据库。

2.在用户计数为20的UAT系统上,一切都很好,但当我们将同一应用程序转移到用户数量超过80的生产系统时,我们在Jboss中面临连接池计数的问题。这个计数持续下降,在8-10小时后,用户无法登录到系统中,因此我们需要通过单击Profile选项卡中Datasource部分中可用的刷新按钮手动刷新连接池。

3.我们检查了是否有连接泄漏,因为我们已经关闭了最后{}部分中的所有数据库连接。

4.我们还增加了STANDALONE.XML文件中的最大最小池大小,并添加了RedHat site.Please推荐的一些验证标记,参见附件文件。

问题-有什么方法可以使Jboss控制台上可用的刷新按钮功能自动化,这样空闲连接就会被自动销毁。

连接池的Jboss控制台视图。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-09 19:02:09

空闲超时分钟是关闭空闲(无保留/未使用)连接之前的最长时间(以分钟为单位)。实际的最大时间取决于idleRemover扫描时间,它是任何池最小空闲超时分钟的一半。

IdleRemover在以下操作之后删除空闲连接:

空闲-超时-分钟+ 1/2 (空闲-超时-分钟)

应将空闲超时分钟属性配置为大于0但小于在数据库服务器、网络防火墙等上指定的超时时间的值,以便允许JBoss在外部断开空闲连接之前优雅地终止。

票数 0
EN

Stack Overflow用户

发布于 2017-03-12 16:30:33

下面是对数据源进行优化的建议。

1#在您的发布行中存在一个已知的预填充= true的问题

代码语言:javascript
复制
<prefill>true</prefill>

请把这个设为假。

2#使用以下数据源连接验证机制:

代码语言:javascript
复制
<validation>
    <validate-on-match>true</validate-on-match>
    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker" />  
</validation>

3#对数据源不建议使用以下内容:

代码语言:javascript
复制
- jta="false" : It should be true
- use-ccm="false" : It should be true

4#您可能希望确保数据库服务器配置为空闲时间小于5分钟的超时连接(JBoss中的数据源的配置超时时间)。JBoss超时应该低于/小于数据库服务器上配置的超时时间,以便允许JBoss优雅地超时连接,而不是允许它们在外部超时。

由应用程序组件保留的5#连接不受JBoss超时的限制。DataSource.getConnection()获得的连接直到返回到池(通过调用Connection.close())并在池中空闲超时分钟之后才能被JBoss超时。即使没有数据库命令活动,DataSource.getConnection()和Connection.close()之间的连接状态也是Connection.close(),因为这些连接属于应用程序代码。

应用上述方法并检查行为

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

https://stackoverflow.com/questions/42664706

复制
相关文章

相似问题

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