Run the example
This page guides you through running the Java transaction graph example.
Clone the repository
-
Clone the Aerospike Graph repository.
Open a terminal and clone the repository:
Terminal window git clone https://github.com/aerospike/aerospike-graph.gitcd aerospike-graphCloning into 'aerospike-graph'...remote: Enumerating objects: 1234, done.remote: Counting objects: 100% (1234/1234), done.remote: Compressing objects: 100% (567/567), done.remote: Total 1234 (delta 456), reused 987 (delta 345)Receiving objects: 100% (1234/1234), 2.34 MiB | 5.67 MiB/s, done.Resolving deltas: 100% (456/456), done.Example response
Start Aerospike Graph Service
-
Start the Docker containers.
From the repository root, start AGS and Aerospike Database:
Terminal window docker compose up -d[+] Running 3/3✔ Network asgraph_net Created✔ Container aerospike-db Started✔ Container aerospike-graph-service Started✔ Container asgraph-zipkin StartedExample response -
Wait for services to be ready.
AGS waits for the database to complete startup before accepting connections. This typically takes 10 to 20 seconds.
-
Check the AGS logs.
Terminal window docker logs aerospike-graph-serviceFound named graphs: []Setting gremlinPool to 56 and threadPoolWorker to 7....Successfully configured Aerospike Graph Service.[INFO] c.a.f.r.FireflyServer - Warmup is complete.Example response
Build and run the Java application
-
Navigate to the Java basic example directory.
Terminal window cd java/basic -
Build the project with Maven.
Compile the project and package it into an executable JAR file:
Terminal window mvn clean install[INFO] Scanning for projects...[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 38, column 21[INFO] Building ags-java-example 1.0[INFO] --------------------------------[ jar ]---------------------------------[INFO] --- clean:3.2.0:clean (default-clean) @ ags-java-example ---[INFO] --- resources:3.3.1:resources (default-resources) @ ags-java-example ---[INFO] --- compiler:3.13.0:compile (default-compile) @ ags-java-example ---[INFO] Compiling 1 source file with javac [debug target 11] to target/classes[INFO] --- surefire:3.3.1:test (default-test) @ ags-java-example ---[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0[INFO] --- jar:3.4.1:jar (default-jar) @ ags-java-example ---[INFO] --- assembly:3.7.1:single (default) @ ags-java-example ---[INFO] --- install:3.1.2:install (default-install) @ ags-java-example ---[INFO] BUILD SUCCESSExample response -
Run the Java application.
Execute the packaged JAR file:
Terminal window java -jar target/ags-java-example-1.0-jar-with-dependencies.jarConnected to Aerospike Graph Service; Adding Data...Adding some users, accounts and transactionsData written successfully...QUERY 1: Transactions initiated by Alice:Transaction Amount: 200, Receiver Account ID: A2Transaction Amount: 271, Receiver Account ID: A2Transaction Amount: 29, Receiver Account ID: A2Transaction Amount: 653, Receiver Account ID: A2Transaction Amount: 814, Receiver Account ID: A2Transaction Amount: 684, Receiver Account ID: A4Transaction Amount: 774, Receiver Account ID: A5Transaction Amount: 513, Receiver Account ID: A1Transaction Amount: 993, Receiver Account ID: A4Transaction Amount: 379, Receiver Account ID: A3Transaction Amount: 199, Receiver Account ID: A4Transaction Amount: 544, Receiver Account ID: A3Transaction Amount: 233, Receiver Account ID: A1Transaction Amount: 41, Receiver Account ID: A3QUERY 2: Total transaction amounts initiated by users:{A1=6327, A2=4999, A3=2747, A4=3590, A5=5107}QUERY 3: Users who transferred greater than 100 to Alice:User: {name=[Bob]}User: {name=[Bob]}User: {name=[Bob]}User: {name=[Bob]}User: {name=[Bob]}User: {name=[Diana]}User: {name=[Diana]}User: {name=[Diana]}User: {name=[Charlie]}User: {name=[Alice]}User: {name=[Alice]}User: {name=[Eve]}User: {name=[Eve]}User: {name=[Eve]}QUERY 4: Properties of Bob:name : BobuserId : U2age : 35Dropping Dataset.Closing Connection...Example response