Параллельное выполнение методов
У меня есть приложение, которое отправляет несколько запросов на мой spray-can 1.3.1
сервер.
FireBug показывает мне, что эти запросы запускаются параллельно.
Однако на сервере эти запросы обрабатываются строго последовательно.
Я думаю, что мне нужно как-то настроить сервер спрей для параллельной обработки нескольких запросов - но как?
Сервер запускается так:
object Server extends SimpleRoutingApp{
def main(args: Array[String]): Unit = {
implicit val system = ActorSystem()
startServer("0.0.0.0", port = 8080) {
get{
pathSingleSlash {
complete{
HttpEntity(
MediaTypes.`text/html`,
Template.txt
)
....
1 ответ
Решение
Поскольку Spray маршрутизация в акторе является синхронной, вам нужно будет сделать что-то еще, чтобы он обрабатывал несколько запросов параллельно.
- С использованием
Detach
директива: эта директива порождает нового актера для обработки этого запроса. - Использование субъекта на запрос