diff --git a/libraries-data-io/pom.xml b/libraries-data-io/pom.xml index 9fc2814312..0101f724f0 100644 --- a/libraries-data-io/pom.xml +++ b/libraries-data-io/pom.xml @@ -95,6 +95,12 @@ protobuf-java ${google-protobuf.version} + + + io.etcd + jetcd-core + ${jetcd-version} + @@ -110,6 +116,7 @@ 1.15 0.14.2 3.17.3 + 0.7.7 - \ No newline at end of file + diff --git a/libraries-data-io/src/main/java/com/baeldung/etcd/JetcdExample.java b/libraries-data-io/src/main/java/com/baeldung/etcd/JetcdExample.java new file mode 100644 index 0000000000..4174143d8a --- /dev/null +++ b/libraries-data-io/src/main/java/com/baeldung/etcd/JetcdExample.java @@ -0,0 +1,32 @@ +package com.baeldung.etcd; + +import java.util.concurrent.CompletableFuture; + +import io.etcd.jetcd.kv.GetResponse; +import io.etcd.jetcd.ByteSequence; +import io.etcd.jetcd.KV; +import io.etcd.jetcd.Client; + +public class JetcdExample { + public static void main(String[] args) { + String etcdEndpoint = "http://localhost:2379"; + ByteSequence key = ByteSequence.from("/mykey".getBytes()); + ByteSequence value = ByteSequence.from("Hello, etcd!".getBytes()); + + try (Client client = Client.builder().endpoints(etcdEndpoint).build()) { + KV kvClient = client.getKVClient(); + + // Put a key-value pair + kvClient.put(key, value).get(); + + // Retrieve the value using CompletableFuture + CompletableFuture getFuture = kvClient.get(key); + GetResponse response = getFuture.get(); + + // Delete the key + kvClient.delete(key).get(); + } catch (Exception e) { + e.printStackTrace(); + } + } +}