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