/docs/src/test/java/docs/http/javadsl/server/AkkaHttp1020MigrationExample.java

https://github.com/akka/akka-http · Java · 43 lines · 24 code · 7 blank · 12 comment · 0 complexity · bf166bd47bae43c572eab96946efd77d MD5 · raw file

  1. /*
  2. * Copyright (C) 2020 Lightbend Inc. <https://www.lightbend.com>
  3. */
  4. package docs.http.javadsl.server;
  5. import akka.actor.typed.javadsl.Behaviors;
  6. import akka.http.javadsl.ConnectHttp;
  7. import akka.http.javadsl.Http;
  8. import static akka.http.javadsl.server.Directives.*;
  9. import akka.http.javadsl.server.Route;
  10. import akka.stream.ActorMaterializer;
  11. import akka.stream.Materializer;
  12. @SuppressWarnings("deprecation")
  13. public class AkkaHttp1020MigrationExample {
  14. public static void main(String[] args) {
  15. {
  16. //#old-binding
  17. // only worked with classic actor system
  18. akka.actor.ActorSystem system = akka.actor.ActorSystem.create("TheSystem");
  19. Materializer mat = ActorMaterializer.create(system);
  20. Route route = get(() -> complete("Hello World!"));
  21. Http.get(system).bindAndHandle(route.flow(system), ConnectHttp.toHost("localhost", 8080), mat);
  22. //#old-binding
  23. }
  24. {
  25. //#new-binding
  26. // works with classic or typed actor system
  27. akka.actor.typed.ActorSystem system = akka.actor.typed.ActorSystem.create(Behaviors.empty(), "TheSystem");
  28. // or
  29. // akka.actor.ActorSystem system = akka.actor.ActorSystem.create("TheSystem");
  30. // materializer not needed any more
  31. Route route = get(() -> complete("Hello World!"));
  32. Http.get(system).newServerAt("localhost", 8080).bind(route);
  33. //#new-binding
  34. }
  35. }
  36. }