mysql - Dropwizard 服务器中的 PoolExhaustedException

标签 mysql connection dropwizard pool reconnect

我在 Mysql 数据库服务器上使用 dropwizard。此服务器的最大连接值设置为 32,每次获取事件连接数都会增加,一旦达到 32,我就会收到 PoolExhaustedException。

请注意,我只在需要时打开和关闭 session ,并且只创建一次连接。以下是我的 yaml 中的一些数据库配置

database:
 # the name of your JDBC driver
 driverClass: com.mysql.jdbc.Driver

  # the username
 user: root

 # the JDBC URL
  url: jdbc:mysql://localhost:3306/deploys?autoReconnect=true?

   # any properties specific to your JDBC driver:
   properties:
   charSet: UTF-8
   hibernate.dialect: org.hibernate.dialect.MySQLDialect
   hibernate.hbm2ddl.auto: update
   hibernate.show_sql: true

   # the maximum amount of time to wait on an empty pool before throwing an    exception
  maxWaitForConnection: 1s

  # the SQL query to run when validating a connection's liveness
  validationQuery: "/* MyApplication Health Check */ SELECT 1"

  # the minimum number of connections to keep open
  minSize: 8

  # the maximum number of connections to keep open
  maxSize: 32

  # whether or not idle connections should be validated
  checkConnectionWhileIdle: false

  #Whether or not connections will be validated before being borrowed from   the pool. If the connection fails to validate, it will be dropped from the pool, and another will be borrowed.
  checkConnectionOnBorrow: true

不确定发生了什么,但是 autorecoonect 应该是假的吗?或者是否有一个配置来终止连接池中的放弃连接?

最佳答案

尝试增加 maxWaitForConnection 值。

关于mysql - Dropwizard 服务器中的 PoolExhaustedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30326486/

相关文章:

php - mysql 和 php 安全 : database as catalog only

java - 用于 Java 的良好 TCP 连接库?

java - 使用 @JsonInclude(NON_DEFAULT) 时 GET 上出现 DropWizard 400 错误

java - 向 Heroku 启动 Dropwizard 项目失败

mysql - 子查询获取到期付款

javascript - jQuery 表单,存在检查

Java - 用于连接的 If 语句

java - JDBI 未找到 H2 类异常

mysql - SQL : Statement to show 1 child record per parent in a One-to-Many relationship

c# - 更改 mysql 数据库中的值行而不是添加