scala - example - Conexión de agrupación en Slick?
Aparece como si la última versión de las conexiones configuradas del grupo de juego - vea http://www.playframework.com/documentation/2.0.1/SettingsJDBC
Para terminar, terminé escribiendo una entrada de blog sobre esto:
http://fernandezpablo85.github.io/2013/04/07/slick_connection_pooling.html
Play 2.4 ahora usa HikariCP que se ve muy bien: https://brettwooldridge.github.io/HikariCP/ https://www.playframework.com/documentation/2.4.x/SettingsJDBC
Yo uso Apache Commons DBCP
para esto. Básicamente, simplemente creas un DataSource
, que encapsula los detalles de la agrupación, y pasas ese DataSource
a Slick:
import org.apache.commons.dbcp.BasicDataSource
val dataSource: DataSource = {
val ds = new BasicDataSource
ds.setDriverClassName("org.hsqldb.jdbc.JDBCDriver")
ds.setUsername("SA")
ds.setPassword("")
ds.setMaxActive(20);
ds.setMaxIdle(10);
ds.setInitialSize(10);
ds.setValidationQuery("SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS")
new java.io.File("target").mkdirs // ensure that folder for database exists
ds.setUrl("jdbc:hsqldb:file:target/db/db")
ds
}
// test the data source validity
dataSource.getConnection().close()
// get the Slick database that uses the pooled connection
val database = Database.forDataSource(dataSource)
Este ejemplo utiliza HSQLDB, pero puede adaptarse fácilmente a cualquier otra base de datos.
El ejemplo completo está here (puede clonar el proyecto y ejecutar sbt run
en lift / directory para verlo funcionar).