Акка HTTP встречает мертвые буквы - PullRequest
0 голосов
/ 30 января 2019

Я разрабатываю простой REST API с использованием Akka HTTP с использованием Java.После успешного завершения цикла запрос-ответ получают некоторую информацию, подобную этой.

[INFO] [01/30/2019 10:35:04.176] [default-akka.actor.default-dispatcher-5] [akka://default/system/IO-TCP/selectors/$a/2] Message [akka.io.TcpConnection$Unregistered$] from Actor[akka://default/system/IO-TCP/selectors/$a/2#-1193182068] to Actor[akka://default/system/IO-TCP/selectors/$a/2#-1193182068] was not delivered. [1] dead letters encountered. If this is not an expected behavior, then [Actor[akka://default/system/IO-TCP/selectors/$a/2#-1193182068]] may have terminated unexpectedly, This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

Если это нормально, я хочу прекратить печатать это на своей консоли.Если это какая-то ошибка;как справиться с этим?Это мой код.

ActorSystem system = ActorSystem.create();
Materializer materializer = ActorMaterializer.create(system);
Function<HttpRequest, HttpResponse> requestHandler = new Function<HttpRequest, HttpResponse>(){
        private static final long serialVersionUID = 1L;

        @Override
        public HttpResponse apply(HttpRequest request) throws Exception {

            return HttpResponse.create().withEntity("HelloWorld");
        }};
Source<IncomingConnection, CompletionStage<ServerBinding>> serverSource = Http.get(system)
       .bind(ConnectHttp.toHost("0.0.0.0", 8080), materializer);
CompletionStage<ServerBinding> serverBindingFuture = serverSource.to(Sink.foreach(connection -> {
        System.out.println("Accepted new connection from " + connection.remoteAddress());
        connection.handleWithSyncHandler(requestHandler, materializer);

        })).run(materializer);

1 Ответ

0 голосов
/ 11 апреля 2019

Передача пользовательской конфигурации в систему актера решила мою проблему.

final Config config = ConfigFactory.load().withValue("akka.log-dead-letters", ConfigValueFactory.fromAnyRef("off"));
                    
ActorSystem system = ActorSystem.create("mysystem", config);
...