首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库连接问题-应用程序无法恢复

数据库连接问题-应用程序无法恢复
EN

Stack Overflow用户
提问于 2018-02-09 21:54:41
回答 2查看 415关注 0票数 0

我有一个运行在PostgreSQLAS7.2上的Java EE Web App,它连接到一个JBoss 9.4数据库(托管在RDS上)。

该应用程序相当大,可以完成网页服务、API调用和计划任务的混合工作

随着整个应用程序陷入停顿,我不得不越来越频繁地重新启动应用程序服务器,检查数据库统计数据,我可以看到连接数与数据库CPU一起达到了顶峰

(当应用程序停止响应时出现大峰值,一旦我重启Jboss,它就会回落)

数据库日志显示与客户端的连接已丢失:

代码语言:javascript
复制
LOG: could not send data to client: Broken pipe
FATAL: connection to client lost

当事务超时时,jboss日志开始填满...

代码语言:javascript
复制
Caused by: javax.transaction.RollbackException: ARJUNA016063: The transaction is not active!

修复的唯一方法是重新启动JBoss,连接数会恢复正常。

我的DB数据源配置如下所示。

代码语言:javascript
复制
<datasource jta="false" jndi-name="java:/appWebDatasource" pool-name="jdbc/appWebDatasource" enabled="true" use-java-context="true" use-ccm="false">
                    <connection-url>jdbc:postgresql://${web.db.url}/MyApp</connection-url>
                    <driver>postgresql</driver>
                    <security>
                        <user-name>jboss</user-name>
                        <password>******</password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>select 1</check-valid-connection-sql>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>true</background-validation>
                    </validation>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </datasource>

问题一出现,我就检查了pg_stat_activity表,发现没有idle in transaction连接,它们要么空闲,要么处于活动状态

所以我的问题是,如何配置JBoss或Postgresql,以阻止应用程序崩溃的连接数量的增加?

EN

回答 2

Stack Overflow用户

发布于 2018-02-09 22:03:03

通过使用此参数<max-pool-size>声明要允许的最大池大小,可以对最大连接数设置上限

您必须考虑您的应用程序并选择要在<max-pool-size>中设置的适当大小

票数 0
EN

Stack Overflow用户

发布于 2018-02-14 01:07:48

因为您还需要使用验证检查器机制以及doc中给出的数据源配置中DaveB已经提到的参数。

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

https://stackoverflow.com/questions/48707483

复制
相关文章

相似问题

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