in amazon-kinesis-connector-flink/src/main/java/software/amazon/kinesis/connectors/flink/util/AwsV2Util.java [99:142]
public static SdkAsyncHttpClient createHttpClient(
final ClientConfiguration config,
final NettyNioAsyncHttpClient.Builder httpClientBuilder,
final Properties consumerConfig) {
int maxConcurrency = Optional
.ofNullable(consumerConfig.getProperty(EFO_HTTP_CLIENT_MAX_CONCURRENCY))
.map(Integer::parseInt)
.orElse(DEFAULT_EFO_HTTP_CLIENT_MAX_CONCURRENCY);
Duration readTimeout = Optional
.ofNullable(consumerConfig.getProperty(EFO_HTTP_CLIENT_READ_TIMEOUT_MILLIS))
.map(Integer::parseInt)
.map(Duration::ofMillis)
.orElse(DEFAULT_EFO_HTTP_CLIENT_READ_TIMEOUT);
Duration acquisitionTimeout = Optional
.ofNullable(consumerConfig.getProperty(EFO_HTTP_CLIENT_ACQUISITION_TIMEOUT_MILLIS))
.map(Integer::parseInt)
.map(Duration::ofMillis)
.orElse(DEFAULT_EFO_HTTP_CLIENT_ACQUISITION_TIMEOUT);
httpClientBuilder
.maxConcurrency(maxConcurrency)
.connectionTimeout(Duration.ofMillis(config.getConnectionTimeout()))
.readTimeout(readTimeout)
.tcpKeepAlive(config.useTcpKeepAlive())
.writeTimeout(Duration.ofMillis(config.getSocketTimeout()))
.connectionMaxIdleTime(Duration.ofMillis(config.getConnectionMaxIdleMillis()))
.useIdleConnectionReaper(config.useReaper())
.protocol(Protocol.HTTP2)
.connectionAcquisitionTimeout(acquisitionTimeout)
.http2Configuration(Http2Configuration
.builder()
.healthCheckPingPeriod(HEALTH_CHECK_PING_PERIOD)
.initialWindowSize(INITIAL_WINDOW_SIZE_BYTES)
.build());
if (config.getConnectionTTL() > -1) {
httpClientBuilder.connectionTimeToLive(Duration.ofMillis(config.getConnectionTTL()));
}
return httpClientBuilder.build();
}