Skip to content

Commit 5cb0f94

Browse files
committed
examples: update example servers to perform proper graceful shutdown
1 parent 9a64651 commit 5cb0f94

8 files changed

Lines changed: 48 additions & 8 deletions

File tree

examples/src/main/java/io/grpc/examples/advanced/HelloJsonServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import io.grpc.stub.ServerCalls.UnaryMethod;
2929
import io.grpc.stub.StreamObserver;
3030
import java.io.IOException;
31+
import java.util.concurrent.TimeUnit;
3132
import java.util.logging.Logger;
3233

3334
/**
@@ -67,7 +68,11 @@ public void run() {
6768

6869
private void stop() {
6970
if (server != null) {
70-
server.shutdown();
71+
try {
72+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
73+
} catch (InterruptedException e) {
74+
logger.warning(e.getMessage());
75+
}
7176
}
7277
}
7378

examples/src/main/java/io/grpc/examples/experimental/CompressingHelloWorldServerAllMethods.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.grpc.examples.experimental;
1818

1919
import java.io.IOException;
20+
import java.util.concurrent.TimeUnit;
2021
import java.util.logging.Logger;
2122

2223
import io.grpc.Metadata;
@@ -70,7 +71,11 @@ public void run() {
7071

7172
private void stop() {
7273
if (server != null) {
73-
server.shutdown();
74+
try {
75+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
76+
} catch (InterruptedException e) {
77+
logger.warning(e.getMessage());
78+
}
7479
}
7580
}
7681

examples/src/main/java/io/grpc/examples/experimental/CompressingHelloWorldServerPerMethod.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package io.grpc.examples.experimental;
1818

1919
import java.io.IOException;
20+
import java.util.concurrent.TimeUnit;
2021
import java.util.logging.Logger;
2122

2223
import io.grpc.Server;
@@ -57,7 +58,11 @@ public void run() {
5758

5859
private void stop() {
5960
if (server != null) {
60-
server.shutdown();
61+
try {
62+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
63+
} catch (InterruptedException e) {
64+
logger.warning(e.getMessage());
65+
}
6166
}
6267
}
6368

examples/src/main/java/io/grpc/examples/header/CustomHeaderServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.grpc.examples.helloworld.HelloRequest;
2525
import io.grpc.stub.StreamObserver;
2626
import java.io.IOException;
27+
import java.util.concurrent.TimeUnit;
2728
import java.util.logging.Logger;
2829

2930
/**
@@ -56,7 +57,11 @@ public void run() {
5657

5758
private void stop() {
5859
if (server != null) {
59-
server.shutdown();
60+
try {
61+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
62+
} catch (InterruptedException e) {
63+
logger.warning(e.getMessage());
64+
}
6065
}
6166
}
6267

examples/src/main/java/io/grpc/examples/hedging/HedgingHelloWorldServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import io.grpc.stub.StreamObserver;
3030
import java.io.IOException;
3131
import java.util.Random;
32+
import java.util.concurrent.TimeUnit;
3233
import java.util.logging.Logger;
3334

3435
/**
@@ -61,7 +62,11 @@ public void run() {
6162

6263
private void stop() {
6364
if (server != null) {
64-
server.shutdown();
65+
try {
66+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
67+
} catch (InterruptedException e) {
68+
logger.warning(e.getMessage());
69+
}
6570
}
6671
}
6772

examples/src/main/java/io/grpc/examples/helloworld/HelloWorldServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.grpc.ServerBuilder;
2121
import io.grpc.stub.StreamObserver;
2222
import java.io.IOException;
23+
import java.util.concurrent.TimeUnit;
2324
import java.util.logging.Logger;
2425

2526
/**
@@ -51,7 +52,11 @@ public void run() {
5152

5253
private void stop() {
5354
if (server != null) {
54-
server.shutdown();
55+
try {
56+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
57+
} catch (InterruptedException e) {
58+
logger.warning(e.getMessage());
59+
}
5560
}
5661
}
5762

examples/src/main/java/io/grpc/examples/manualflowcontrol/ManualFlowControlServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.grpc.stub.StreamObserver;
2424

2525
import java.io.IOException;
26+
import java.util.concurrent.TimeUnit;
2627
import java.util.concurrent.atomic.AtomicBoolean;
2728
import java.util.logging.Logger;
2829

@@ -136,7 +137,11 @@ public void onCompleted() {
136137
@Override
137138
public void run() {
138139
logger.info("Shutting down");
139-
server.shutdown();
140+
try {
141+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
142+
} catch (InterruptedException e) {
143+
logger.warning(e.getMessage());
144+
}
140145
}
141146
});
142147
server.awaitTermination();

examples/src/main/java/io/grpc/examples/routeguide/RouteGuideServer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.List;
3737
import java.util.concurrent.ConcurrentHashMap;
3838
import java.util.concurrent.ConcurrentMap;
39+
import java.util.concurrent.TimeUnit;
3940
import java.util.logging.Level;
4041
import java.util.logging.Logger;
4142

@@ -82,7 +83,11 @@ public void run() {
8283
/** Stop serving requests and shutdown resources. */
8384
public void stop() {
8485
if (server != null) {
85-
server.shutdown();
86+
try {
87+
server.shutdown().awaitTermination(30, TimeUnit.SECONDS);
88+
} catch (InterruptedException e) {
89+
logger.warning(e.getMessage());
90+
}
8691
}
8792
}
8893

0 commit comments

Comments
 (0)