我正在使用带有Mysql数据库服务器的dropwizard。此服务器的最大连接值设置为32,对于每次提取,活动连接数增加,一旦达到32,我就会收到PoolExhaustedException。
请注意,我只在需要时打开和关闭会话,并且只创建一次连接。以下是我的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应该是假的吗?或者是否有一个混乱来杀死连接池中的连接?
答案 0 :(得分:0)
尝试增加maxWaitForConnection
值。