diff --git a/src/main/scala/ScalatraBootstrap.scala b/src/main/scala/ScalatraBootstrap.scala index 363bc291..5330cc6a 100644 --- a/src/main/scala/ScalatraBootstrap.scala +++ b/src/main/scala/ScalatraBootstrap.scala @@ -32,7 +32,15 @@ class ScalatraBootstrap extends LifeCycle { */ override def init(context: ServletContext) { // val db = if (cpds != null) Database.forDataSource(cpds) else null - val db = if (cpds != null) Database.forDataSource(cpds, Option(50)) else null + val maxConns = ExchConfig.getInt("api.db.maxPoolSize") + val db = + if (cpds != null) { + Database.forDataSource( + cpds, + Some(maxConns), + AsyncExecutor("ExchangeExecutor", maxConns, maxConns, 1000, maxConns) + ) + } else null // Disable scalatra's builtin CorsSupport because for some inexplicable reason it doesn't set Access-Control-Allow-Origin which is critical context.setInitParameter("org.scalatra.cors.enable", "false") @@ -72,4 +80,4 @@ class ScalatraBootstrap extends LifeCycle { cpds.setAcquireIncrement(ExchConfig.getInt("api.db.acquireIncrement")) cpds.setMaxPoolSize(ExchConfig.getInt("api.db.maxPoolSize")) } -} \ No newline at end of file +}