in gremlin-client-demo/src/main/java/software/amazon/lambda/NeptuneGremlinClientExampleLambda.java [54:90]
public NeptuneGremlinClientExampleLambda() {
this.refreshAgent = ClusterEndpointsRefreshAgent.lambdaProxy(
System.getenv("neptuneEndpointsInfoLambda"),
System.getenv("AWS_REGION"));
GremlinCluster cluster = NeptuneGremlinClusterBuilder.build()
.enableSsl(true)
.addContactPoints(refreshAgent.getEndpoints(ENDPOINT_TYPE))
.port(8182)
.serializer(Serializers.GRAPHBINARY_V1)
.minConnectionPoolSize(1)
.maxConnectionPoolSize(1)
.create();
this.client = cluster.connect();
refreshAgent.startPollingNeptuneAPI(
client, ENDPOINT_TYPE, 5, TimeUnit.SECONDS
);
this.g = AnonymousTraversalSource.traversal().withRemote(DriverRemoteConnection.using(client));
RetryConfig retryConfig = new RetryConfigBuilder()
.retryOnCustomExceptionLogic(retryLogic())
.withDelayBetweenTries(2000, ChronoUnit.MILLIS)
.withMaxNumberOfTries(10)
.withExponentialBackoff()
.build();
this.executor = new CallExecutorBuilder<Object>()
.config(retryConfig)
.afterFailedTryListener(this::afterFailedTry)
.build();
}