【发布时间】:2018-03-21 05:53:24
【问题描述】:
这个错误我已经有一段时间了,我不知道是什么原因造成的。
问题是它只发生在生产中。我已将应用程序部署到由 Beanstalk 管理的 AWS EC2 容器。每隔几个小时就会出现一次错误;不知道多少钱。
在网上搜索后发现了一些来源,我将数据源配置更改为:
# Configuration needed to keep the JPA entity open
# Used from here: https://github.com/GluuFederation/message-consumer/issues/4
# This would be enough: https://github.com/netgloo/spring-boot-samples/blob/master/spring-boot-mysql-springdatajpa-hibernate/src/main/resources/application.properties
datasource:
tomcat:
initial-size: 34
max-active: 377
max-idle: 233
min-idle: 89
time-between-eviction-runs-millis: 34000
min-evictable-idle-time-millis: 55000
validation-query: SELECT 1
validation-interval: 4000
test-on-borrow: true
remove-abandoned: true
remove-abandoned-timeout: 55
我已经检查过了,我可以使用 Workbench 直接连接到数据库,并且我做了一些查询没有问题。
AWS 容器的运行状况也很好(据我所知,它是绿色的 :))
对此有什么想法吗?
【问题讨论】:
-
您得到的实际异常是什么?包括堆栈跟踪。还请包括您在 Stacktrace 中提到的代码。
-
启用
test-while-idle旁边的test-on-borrow在应用程序启动时清除断开的连接。另请参阅stackoverflow.com/questions/30451470/…。 -
@M.Deinum 一旦我合并了我正在处理的当前分支,我将尝试一下。我会让你知道情况如何。我也在想我应该换成平木吗?
标签: java jpa spring-boot amazon-ec2 spring-data