|
@@ -4,22 +4,23 @@ import java.sql.Connection
|
|
import java.util.concurrent._
|
|
import java.util.concurrent._
|
|
import javax.inject.{Singleton, Inject}
|
|
import javax.inject.{Singleton, Inject}
|
|
import play.api.db.Database
|
|
import play.api.db.Database
|
|
-import play.api.Play.current
|
|
|
|
|
|
+import play.api.Configuration
|
|
import play.core.NamedThreadFactory
|
|
import play.core.NamedThreadFactory
|
|
import play.db.NamedDatabase
|
|
import play.db.NamedDatabase
|
|
import scala.concurrent._
|
|
import scala.concurrent._
|
|
import scala.concurrent.Future
|
|
import scala.concurrent.Future
|
|
|
|
|
|
@Singleton
|
|
@Singleton
|
|
-class DbOperation @Inject()(@NamedDatabase("hello_world") protected val db: Database) {
|
|
|
|
|
|
+class DbOperation @Inject() (@NamedDatabase("hello_world") protected val db: Database,
|
|
|
|
+ configuration: Configuration) {
|
|
|
|
|
|
- private val maxDbOperations = current.configuration.underlying.getInt("max-db-ops")
|
|
|
|
|
|
+ private val maxDbOperations = configuration.underlying.getInt("max-db-ops")
|
|
|
|
|
|
- private val partitionCount = current.configuration.getInt("db.hello_world.partitionCount").getOrElse(2)
|
|
|
|
|
|
+ private val partitionCount = configuration.getInt("db.hello_world.partitionCount").getOrElse(2)
|
|
private val maxConnections =
|
|
private val maxConnections =
|
|
- partitionCount * current.configuration.getInt("db.hello_world.maxConnectionsPerPartition").getOrElse(5)
|
|
|
|
|
|
+ partitionCount * configuration.getInt("db.hello_world.maxConnectionsPerPartition").getOrElse(5)
|
|
private val minConnections =
|
|
private val minConnections =
|
|
- partitionCount * current.configuration.getInt("db.hello_world.minConnectionsPerPartition").getOrElse(5)
|
|
|
|
|
|
+ partitionCount * configuration.getInt("db.hello_world.minConnectionsPerPartition").getOrElse(5)
|
|
|
|
|
|
private val tpe = new ThreadPoolExecutor(minConnections, maxConnections,
|
|
private val tpe = new ThreadPoolExecutor(minConnections, maxConnections,
|
|
0L, TimeUnit.MILLISECONDS,
|
|
0L, TimeUnit.MILLISECONDS,
|