Segue o meu arquivo de dispatcher application.conf como você pode ver passei ele todo para 1 e mesmo assim ele abre 1000 threads.
pacotes-dispatcher {
# Dispatcher is the name of the event-based dispatcher
type = Dispatcher
# What kind of ExecutionService to use
executor = "thread-pool-executor"
# This will be used if you have set "executor = "fork-join-executor""
fork-join-executor {
# Min number of threads to cap factor-based parallelism number to
parallelism-min = 1
# Parallelism (threads) ... ceil(available processors * factor)
parallelism-factor = 1.0
# Max number of threads to cap factor-based parallelism number to
parallelism-max = 1
}
# Configuration for the thread pool
thread-pool-executor {
# minimum number of threads to cap factor-based core number to
core-pool-size-min = 1
# No of core threads ... ceil(available processors * factor)
core-pool-size-factor = 1.0
# maximum number of threads to cap factor-based number to
core-pool-size-max = 1
# Hint: max-pool-size is only used for bounded task queues
# minimum number of threads to cap factor-based max number to
max-pool-size-min = 1
# Max no of threads ... ceil(available processors * factor)
max-pool-size-factor = 1.0
# Max number of threads to cap factor-based max number to
max-pool-size-max = 1
# Specifies which type of task queue will be used, can be "array" or
# "linked" (default)
task-queue-type = "linked"
# Specifies the bounded capacity of the task queue (< 1 == unbounded)
task-queue-size = 1
}
mailbox-capacity = 1
# Throughput defines the maximum number of messages to be
# processed per actor before the thread jumps to the next actor.
# Set to 1 for as fair as possible.
throughput = 1
}