public NeptuneGremlinClientExampleLambda()

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();

    }