in gremlin-client-demo/src/main/java/software/amazon/neptune/RefreshAgentDemo.java [87:146]
public void run() {
try {
EndpointsType selector = EndpointsType.ReadReplicas;
ClusterEndpointsRefreshAgent refreshAgent = createRefreshAgent();
NeptuneGremlinClusterBuilder builder = NeptuneGremlinClusterBuilder.build()
.enableSsl(!disableSsl)
.enableIamAuth(enableIam)
.iamProfile(profile)
.addContactPoints(refreshAgent.getEndpoints(selector))
.minConnectionPoolSize(3)
.maxConnectionPoolSize(3)
.port(neptunePort);
if (StringUtils.isNotEmpty(serviceRegion)) {
builder = builder.serviceRegion(serviceRegion);
}
GremlinCluster cluster = builder.create();
GremlinClient client = cluster.connect();
refreshAgent.startPollingNeptuneAPI(
client,
selector,
intervalSeconds,
TimeUnit.SECONDS
);
DriverRemoteConnection connection = DriverRemoteConnection.using(client);
GraphTraversalSource g = AnonymousTraversalSource.traversal().withRemote(connection);
for (int i = 0; i < queryCount; i++) {
try {
List<Map<Object, Object>> results = g.V().limit(10).valueMap(true).toList();
for (Map<Object, Object> result : results) {
//Do nothing
}
if (i % 10000 == 0) {
System.out.println();
System.out.println("Number of queries: " + i);
}
} catch (Exception e) {
logger.warn("Error processing query: {}", e.getMessage());
}
}
refreshAgent.close();
client.close();
cluster.close();
} catch (Exception e) {
System.err.println("An error occurred while connecting to Neptune:");
e.printStackTrace();
System.exit(-1);
}
}