Changing default netty client to use 60 second ping health check timeout and 10MB initial window size.
This commit is contained in:
parent
86033089df
commit
fafd62c04c
1 changed files with 11 additions and 1 deletions
|
|
@ -15,15 +15,22 @@
|
|||
|
||||
package software.amazon.kinesis.common;
|
||||
|
||||
import software.amazon.awssdk.http.Protocol;
|
||||
import software.amazon.awssdk.http.nio.netty.Http2Configuration;
|
||||
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
|
||||
import software.amazon.awssdk.services.kinesis.KinesisAsyncClient;
|
||||
import software.amazon.awssdk.services.kinesis.KinesisAsyncClientBuilder;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
/**
|
||||
* Utility to setup KinesisAsyncClient to be used with KCL.
|
||||
*/
|
||||
public class KinesisClientUtil {
|
||||
|
||||
private static int INITIAL_WINDOW_SIZE_BYTES = 10 * 1024 * 1024;
|
||||
private static long HEALTH_CHECK_PING_PERIOD_MILLIS = 60 * 1000;
|
||||
|
||||
/**
|
||||
* Creates a client from a builder.
|
||||
*
|
||||
|
|
@ -35,6 +42,9 @@ public class KinesisClientUtil {
|
|||
}
|
||||
|
||||
public static KinesisAsyncClientBuilder adjustKinesisClientBuilder(KinesisAsyncClientBuilder builder) {
|
||||
return builder.httpClientBuilder(NettyNioAsyncHttpClient.builder().maxConcurrency(Integer.MAX_VALUE));
|
||||
return builder.httpClientBuilder(NettyNioAsyncHttpClient.builder().maxConcurrency(Integer.MAX_VALUE)
|
||||
.http2Configuration(Http2Configuration.builder().initialWindowSize(INITIAL_WINDOW_SIZE_BYTES)
|
||||
.healthCheckPingPeriod(Duration.ofMillis(HEALTH_CHECK_PING_PERIOD_MILLIS)).build())
|
||||
.protocol(Protocol.HTTP2));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue