From 870a9fb8bc282e4dee4bd25a0305615dafb857a3 Mon Sep 17 00:00:00 2001 From: Ping Yu Date: Fri, 2 Dec 2022 11:57:10 +0800 Subject: [PATCH] [close #666] Fix some issues in example and README (#667) Signed-off-by: pingyu Signed-off-by: pingyu --- README.md | 34 ++++++++++++++++++++++---------- docs/src/examples/quick-start.md | 2 +- docs/src/examples/rawkv.md | 4 ++-- docs/src/examples/txnkv.md | 2 +- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 0acd816deb..b2d64294b8 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,17 @@ ## TiKV JAVA Client -A Java client for [TiDB](https://github.com/pingcap/tidb)/[TiKV](https://github.com/tikv/tikv). +A Java client for [TiKV](https://github.com/tikv/tikv). It is supposed to: + Communicate via [gRPC](http://www.grpc.io/) + Talk to Placement Driver searching for a region -+ Talk to TiKV for reading/writing data and the resulted data is encoded/decoded just like what we do in TiDB. -+ Talk to Coprocessor for calculation pushdown ++ Talk to TiKV for reading/writing data ## Quick Start -> TiKV Java Client is designed to communicate with [pd](https://github.com/tikv/pd) and [tikv](https://github.com/tikv/tikv), please run TiKV and PD in advance. +> TiKV Java Client is designed to communicate with [PD](https://github.com/tikv/pd) and [TiKV](https://github.com/tikv/tikv), please run PD and TiKV in advance. -Build java client from source file: +Build Java client from source file: ```sh mvn clean install -Dmaven.test.skip=true @@ -27,11 +26,27 @@ Add maven dependency to `pom.xml`: org.tikv tikv-client-java - 3.1.0 + 3.3.0 ``` -Create a RawKVClient and communicates with TiKV: +Create a transactional `KVClient` and communicates with TiKV: + +```java +import org.tikv.common.TiConfiguration; +import org.tikv.common.TiSession; +import org.tikv.txn.KVClient; + +public class Main { + public static void main(String[] args) throws Exception { + TiConfiguration conf = TiConfiguration.createDefault(YOUR_PD_ADDRESSES); + TiSession session = TiSession.create(conf); + KVClient client = session.createKVClient(); + } +} +``` + +Or create a `RawKVClient` if you don't need the transaction semantic: ```java import org.tikv.common.TiConfiguration; @@ -39,8 +54,7 @@ import org.tikv.common.TiSession; import org.tikv.raw.RawKVClient; public class Main { - public static void main() { - // You MUST create a raw configuration if you are using RawKVClient. + public static void main(String[] args) throws Exception { TiConfiguration conf = TiConfiguration.createRawDefault(YOUR_PD_ADDRESSES); TiSession session = TiSession.create(conf); RawKVClient client = session.createRawClient(); @@ -48,7 +62,7 @@ public class Main { } ``` -Find more demo in [KVRawClientTest](https://github.com/birdstorm/KVRawClientTest/) +Find more demo in [TiKV Java Client User Documents](https://tikv.github.io/client-java/examples/introduction.html) ## Documentation diff --git a/docs/src/examples/quick-start.md b/docs/src/examples/quick-start.md index 36078f2673..09c6b18645 100644 --- a/docs/src/examples/quick-start.md +++ b/docs/src/examples/quick-start.md @@ -24,7 +24,7 @@ Add maven dependency to `pom.xml`. org.tikv tikv-client-java - 3.1.0 + 3.3.0 org.slf4j diff --git a/docs/src/examples/rawkv.md b/docs/src/examples/rawkv.md index 182cc8d09c..e4c9bcacad 100644 --- a/docs/src/examples/rawkv.md +++ b/docs/src/examples/rawkv.md @@ -15,7 +15,7 @@ import org.tikv.raw.RawKVClient; import org.tikv.shade.com.google.protobuf.ByteString; public class Main { - public static void main() { + public static void main(String[] args) throws Exception { // You MUST create a raw configuration if you are using RawKVClient. TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379"); TiSession session = TiSession.create(conf); @@ -61,7 +61,7 @@ To enable the API V2 mode, users need to specify the API version of the client. import org.tikv.common.TiConfiguration.ApiVersion; public class Main { - public static void main() { + public static void main(String[] args) throws Exception { TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379"); conf.setApiVersion(ApiVersion.V2); try(TiSession session = TiSession.create(conf)) { diff --git a/docs/src/examples/txnkv.md b/docs/src/examples/txnkv.md index 9bcfb430c4..e3e2e0d4a7 100644 --- a/docs/src/examples/txnkv.md +++ b/docs/src/examples/txnkv.md @@ -23,7 +23,7 @@ import org.tikv.txn.TwoPhaseCommitter; public class App { public static void main(String[] args) throws Exception { - TiConfiguration conf = TiConfiguration.createDefault("127.0.0.1:2389"); + TiConfiguration conf = TiConfiguration.createDefault("127.0.0.1:2379"); try (TiSession session = TiSession.create(conf)) { // two-phrase write long startTS = session.getTimestamp().getVersion();