Skip to content

Commit ba598aa

Browse files
author
Brandon Dahler
committed
Use correct waiting methods for shutdown futures.
1 parent c895e9f commit ba598aa

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-4
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ logger.putProperty("RequestId", "422b1569-16f6-4a03-b8f0-fe3fd9b100f8");
6565
logger.flush();
6666

6767
// flush the sink, waiting up to 10s before giving up
68-
environment.getSink().shutdown().orTimeout(10_000L, TimeUnit.MILLISECONDS);
68+
environment.getSink().shutdown().get(10_000L, TimeUnit.MILLISECONDS);
6969
```
7070

7171
## API

examples/agent/src/main/java/agent/App.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@
77
import software.amazon.cloudwatchlogs.emf.model.DimensionSet;
88
import software.amazon.cloudwatchlogs.emf.model.Unit;
99

10+
import java.util.concurrent.ExecutionException;
11+
import java.util.concurrent.TimeoutException;
1012
import java.util.concurrent.TimeUnit;
1113

1214
public class App {
1315

14-
public static void main(String[] args) {
16+
public static void main(String[] args) throws ExecutionException, InterruptedException, TimeoutException {
1517
DefaultEnvironment environment = new DefaultEnvironment(EnvironmentConfigurationProvider.getConfig());
1618
emitMetric(environment);
1719
emitMetric(environment);
1820
emitMetric(environment);
19-
environment.getSink().shutdown().orTimeout(360_000L, TimeUnit.MILLISECONDS);
21+
environment.getSink().shutdown().get(360_000L, TimeUnit.MILLISECONDS);
2022
}
2123

2224
private static void emitMetric(Environment environment) {

examples/ecs-firelens/src/main/java/App.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import java.io.IOException;
2929
import java.io.OutputStream;
3030
import java.net.InetSocketAddress;
31+
import java.util.concurrent.ExecutionException;
32+
import java.util.concurrent.TimeoutException;
3133
import java.util.concurrent.TimeUnit;
3234

3335
public class App {
@@ -48,7 +50,16 @@ public static void main(String[] args) throws Exception {
4850
private static void registerShutdownHook() {
4951
// https://aws.amazon.com/blogs/containers/graceful-shutdowns-with-ecs/
5052
Signal.handle(new Signal("TERM"), sig -> {
51-
env.getSink().shutdown().orTimeout(1_000L, TimeUnit.MILLISECONDS);
53+
try {
54+
env.getSink().shutdown().get(1_000L, TimeUnit.MILLISECONDS);
55+
} catch (InterruptedException | ExecutionException | TimeoutException e) {
56+
if (e instanceof InterruptedException) {
57+
Thread.currentThread().interrupt();
58+
}
59+
60+
e.printStackTrace();
61+
}
62+
5263
System.exit(0);
5364
});
5465
}

0 commit comments

Comments
 (0)