From 536ffe9106ad7baf9f20b4bf572fc7d9e75dc5e0 Mon Sep 17 00:00:00 2001
From: vaibhav007jain <72961247+vaibhav007jain@users.noreply.github.com>
Date: Tue, 20 Feb 2024 11:34:26 +0530
Subject: [PATCH] Bael-7439-intro-to-etcd (#15892)
* Update pom.xml
* Create JetcdExample.java
---
libraries-data-io/pom.xml | 9 +++++-
.../java/com/baeldung/etcd/JetcdExample.java | 32 +++++++++++++++++++
2 files changed, 40 insertions(+), 1 deletion(-)
create mode 100644 libraries-data-io/src/main/java/com/baeldung/etcd/JetcdExample.java
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();
+ }
+ }
+}