2016-02-17 11 views
0

Я пишу простой код клиента спрей:Попадая «мертвые буквы встречаются» с помощью спрея клиента

// ActorSystem("main-actor-system") initialized earlier in code 
implicit val system = actorSystem 
implicit val execctx: scala.concurrent.ExecutionContext = system.dispatcher 
implicit val timeout = Timeout(10.seconds) 

val pipeline: Future[pipelining.WithTransformerConcatenation[HttpRequest, Future[String]]] = 
for (Http.HostConnectorInfo(connector, _) <- 
    IO(Http) ? Http.HostConnectorSetup("myservicehost", port = 80) 
) yield sendReceive(connector) ~> unmarshal[String] 

Await.ready(pipeline, 10 seconds) 

// this is quite brute forse, what is better way? 
val pl = pipeline.value.get.get 

val response: Future[String] = pl { Get("/status")} 
private val result: String = Await.result(response, 10 seconds) 
response.foreach(r => println("result" + result)) 

Каждый раз, когда я бегу этот код я получаю

[INFO] [02/17/2016 15:31:15.596] [main-actor-system-akka.actor.default-dispatcher-3] [akka://main-actor-system/system/IO-TCP/selectors/$a/0] Message [akka.io.Tcp$Close$] from Actor[akka://main-actor-system/user/IO-HTTP/group-0/0#-1771046370] to Actor[akka://main-actor-system/system/IO-TCP/selectors/$a/0#1352725834] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 

Что я должен сделать, чтобы исправить это?

ответ

0

Это не обязательно проблема. Вот фрагмент от documentation.

По умолчанию сообщения, отправленные мертвым буквам, регистрируются на информационном уровне. Существование мертвых букв не обязательно указывает на проблему, но может быть, и поэтому они регистрируются по умолчанию. После нескольких сообщений это ведение журнала отключено, чтобы избежать наводнения журналов. Вы можете полностью отключить этот журнал или настроить количество мертвых букв, которые регистрируются. Во время выключения системы, вероятно, вы видите мертвые буквы, так как ожидающие сообщения в почтовых ящиках актора отправляются на мертвые буквы. Вы также можете отключить запись мертвых букв во время выключения.

Я игнорирую их при запуске моего сервера.

+0

Этот журнал появляется каждый раз, когда я отправляю запрос клиенту. Система preaty большой объем, и каждый запрос сервера в конечном итоге вызывает http-клиент (другой микросервис). Могу ли я случайно что-то в конфигурации/инициализации клиента использовать его максимально эффективно? – Julias