This is an automated email from the ASF dual-hosted git repository.

He-Pin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-samples.git


The following commit(s) were added to refs/heads/main by this push:
     new 0c45214  fix: replace deprecated bindAndHandle with 
newServerAt().bind() in Java samples (#176)
0c45214 is described below

commit 0c45214f82da91134074ccdb6ebbbd119cbd61f5
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Sun Jul 5 03:15:23 2026 +0800

    fix: replace deprecated bindAndHandle with newServerAt().bind() in Java 
samples (#176)
    
    Motivation:
    Two Java sample files use the deprecated Http.bindAndHandle() API,
    producing deprecation warnings during compilation.
    
    Modification:
    - WeatherHttpServer.java (sharding-java): replace bindAndHandle with
      newServerAt("localhost", port).bind(routes), remove unused ConnectHttp,
      Materializer and SystemMaterializer imports
    - DemoApp.java (cluster-kubernetes-java): replace bindAndHandle with
      newServerAt("0.0.0.0", 8080).bind(complete(...)), remove unused
      ConnectHttp and Materializer imports
    
    Result:
    Samples use the modern HTTP server binding API. No more deprecation
    warnings from these files.
    
    Tests:
    - sbt compile in pekko-sample-sharding-java (no warnings)
    - pekko-sample-cluster-kubernetes-java: not run - pre-existing dependency
      resolution issue (Maven project with missing published artifacts)
    
    References: None - cleanup
---
 .../src/main/java/pekko/cluster/bootstrap/demo/DemoApp.java  |  6 +-----
 .../src/main/java/sample/killrweather/WeatherHttpServer.java | 12 ++----------
 2 files changed, 3 insertions(+), 15 deletions(-)

diff --git 
a/pekko-sample-cluster-kubernetes-java/src/main/java/pekko/cluster/bootstrap/demo/DemoApp.java
 
b/pekko-sample-cluster-kubernetes-java/src/main/java/pekko/cluster/bootstrap/demo/DemoApp.java
index 5437eac..d542fd0 100644
--- 
a/pekko-sample-cluster-kubernetes-java/src/main/java/pekko/cluster/bootstrap/demo/DemoApp.java
+++ 
b/pekko-sample-cluster-kubernetes-java/src/main/java/pekko/cluster/bootstrap/demo/DemoApp.java
@@ -11,11 +11,9 @@ import org.apache.pekko.actor.typed.javadsl.Behaviors;
 import org.apache.pekko.cluster.ClusterEvent;
 import org.apache.pekko.cluster.typed.Cluster;
 import org.apache.pekko.cluster.typed.Subscribe;
-import org.apache.pekko.http.javadsl.ConnectHttp;
 import org.apache.pekko.http.javadsl.Http;
 import org.apache.pekko.management.cluster.bootstrap.ClusterBootstrap;
 import org.apache.pekko.management.scaladsl.PekkoManagement;
-import org.apache.pekko.stream.Materializer;
 
 import static org.apache.pekko.http.javadsl.server.Directives.*;
 
@@ -44,10 +42,8 @@ public class DemoApp {
     public static Behavior<Void> create() {
       return Behaviors.setup(context -> {
         final org.apache.pekko.actor.ActorSystem classicSystem = 
Adapter.toClassic(context.getSystem());
-        Materializer mat = Materializer.matFromSystem(classicSystem);
 
-        Http.get(classicSystem).bindAndHandle(complete("Hello world")
-                .flow(classicSystem, mat), ConnectHttp.toHost("0.0.0.0", 
8080), mat)
+        Http.get(classicSystem).newServerAt("0.0.0.0", 
8080).bind(complete("Hello world"))
                 .whenComplete((binding, failure) -> {
                   if (failure == null) {
                     classicSystem.log().info("HTTP server now listening at 
port 8080");
diff --git 
a/pekko-sample-sharding-java/killrweather/src/main/java/sample/killrweather/WeatherHttpServer.java
 
b/pekko-sample-sharding-java/killrweather/src/main/java/sample/killrweather/WeatherHttpServer.java
index a186c87..2d069df 100644
--- 
a/pekko-sample-sharding-java/killrweather/src/main/java/sample/killrweather/WeatherHttpServer.java
+++ 
b/pekko-sample-sharding-java/killrweather/src/main/java/sample/killrweather/WeatherHttpServer.java
@@ -3,11 +3,8 @@ package sample.killrweather;
 import org.apache.pekko.actor.CoordinatedShutdown;
 import org.apache.pekko.actor.typed.ActorSystem;
 import org.apache.pekko.actor.typed.javadsl.Adapter;
-import org.apache.pekko.http.javadsl.ConnectHttp;
 import org.apache.pekko.http.javadsl.Http;
 import org.apache.pekko.http.javadsl.server.Route;
-import org.apache.pekko.stream.Materializer;
-import org.apache.pekko.stream.SystemMaterializer;
 
 import java.net.InetSocketAddress;
 import java.time.Duration;
@@ -19,13 +16,8 @@ final class WeatherHttpServer {
   public static void start(Route routes, int port, ActorSystem<?> system) {
     org.apache.pekko.actor.ActorSystem classicActorSystem = 
Adapter.toClassic(system);
 
-    Materializer materializer = SystemMaterializer.get(system).materializer();
-
-    Http.get(classicActorSystem).bindAndHandle(
-        routes.flow(classicActorSystem, materializer),
-        ConnectHttp.toHost("localhost", port),
-        materializer
-    ).whenComplete((binding, failure) -> {
+    Http.get(classicActorSystem).newServerAt("localhost", port).bind(routes)
+    .whenComplete((binding, failure) -> {
       if (failure == null) {
         final InetSocketAddress address = binding.localAddress();
         system.log().info(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to