Skip to content

Commit cc01ad2

Browse files
committed
Add the parameter to configure capacity of queue to await query executions
1 parent 1c57ba7 commit cc01ad2

5 files changed

Lines changed: 8 additions & 2 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ akka-persistence-sql-async {
3434
user = "root"
3535
pass = ""
3636
url = "jdbc:mysql://localhost/akka_persistence_sql_async"
37-
max-pool-size = 4
37+
max-pool-size = 4 # total connection count
38+
wait-queue-capacity = 10000 # If query cannot be executed soon, it wait in the queue and will be executed later.
3839
journal-table-name = "journal"
3940
snapshot-table-name = "snapshot"
4041
}

src/main/scala/akka/persistence/common/SQLAsyncConfig.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ private[persistence] class SQLAsyncConfig(val system: ActorSystem) {
1010
val pass = config.getString("pass")
1111
val url = config.getString("url")
1212
val maxPoolSize = config.getInt("max-pool-size")
13+
val waitQueueCapacity = config.getInt("wait-queue-capacity")
1314
val journalTableName = config.getString("journal-table-name")
1415
val snapshotTableName = config.getString("snapshot-table-name")
1516
}

src/main/scala/akka/persistence/common/ScalikeJDBCExtension.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ private[persistence] class ScalikeJDBCExtension(system: ExtendedActorSystem) ext
2222
url = config.url,
2323
user = config.user,
2424
password = if (config.pass == "") null else config.pass,
25-
settings = AsyncConnectionPoolSettings(maxPoolSize = config.maxPoolSize)
25+
settings = AsyncConnectionPoolSettings(
26+
maxPoolSize = config.maxPoolSize,
27+
maxQueueSize = config.waitQueueCapacity)
2628
)
2729
}

src/test/resources/mysql-application.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ akka-persistence-sql-async {
88
pass = ""
99
url = "jdbc:mysql://localhost/akka_persistence_sql_async"
1010
max-pool-size = 4
11+
wait-queue-capacity = 10000
1112
journal-table-name = "journal"
1213
snapshot-table-name = "snapshot"
1314
}

src/test/resources/postgresql-application.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ akka-persistence-sql-async {
88
pass = ""
99
url = "jdbc:postgresql://localhost/akka_persistence_sql_async"
1010
max-pool-size = 4
11+
wait-queue-capacity = 10000
1112
journal-table-name = "journal"
1213
snapshot-table-name = "snapshot"
1314
}

0 commit comments

Comments
 (0)