在Slick 3库中使用HikariCP来配置连接池。
根据HikariCP Rapid-Recovery,为了能够“从数据库重新启动或网络分区事件中恢复”,建议设置socketTimeout as its disabled by default.
问题是如何在slick中设置socketTimeout?
答案 0 :(得分:1)
在application.conf中,将socketTimeout添加为JDBC URL的一部分
db {
profile = "slick.jdbc.MySQLProfile$"
db {
url = "jdbc:mysql://localhost:3306/dbname?socketTimeout=30000"
driver = com.mysql.cj.jdbc.Driver
user = "<user>"
password = "<password>"
}
}
来自MySQL Connector/J 8.0 documentation
可以在以下任一设置配置属性 可以通过以下方式:
- 在jdbc url的MySQL实现上使用set *()方法 java.sql.DataSource(使用时的首选方法 java.sql.DataSource的实现)
- 作为传递给DriverManager.getConnection()或Driver.connect()的java.util.Properties实例中的键值对
- 作为URL中的JDBC URL参数