[close #666] Fix some issues in example and README (#667)

Signed-off-by: pingyu <yuping@pingcap.com>

Signed-off-by: pingyu <yuping@pingcap.com>
This commit is contained in:
Ping Yu 2022-12-02 11:57:10 +08:00 committed by GitHub
parent 8cb7a8294c
commit 870a9fb8bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 14 deletions

View File

@ -4,18 +4,17 @@
## TiKV JAVA Client ## 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: It is supposed to:
+ Communicate via [gRPC](http://www.grpc.io/) + Communicate via [gRPC](http://www.grpc.io/)
+ Talk to Placement Driver searching for a region + 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 TiKV for reading/writing data
+ Talk to Coprocessor for calculation pushdown
## Quick Start ## 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 ```sh
mvn clean install -Dmaven.test.skip=true mvn clean install -Dmaven.test.skip=true
@ -27,11 +26,27 @@ Add maven dependency to `pom.xml`:
<dependency> <dependency>
<groupId>org.tikv</groupId> <groupId>org.tikv</groupId>
<artifactId>tikv-client-java</artifactId> <artifactId>tikv-client-java</artifactId>
<version>3.1.0</version> <version>3.3.0</version>
</dependency> </dependency>
``` ```
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 ```java
import org.tikv.common.TiConfiguration; import org.tikv.common.TiConfiguration;
@ -39,8 +54,7 @@ import org.tikv.common.TiSession;
import org.tikv.raw.RawKVClient; import org.tikv.raw.RawKVClient;
public class Main { 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(YOUR_PD_ADDRESSES); TiConfiguration conf = TiConfiguration.createRawDefault(YOUR_PD_ADDRESSES);
TiSession session = TiSession.create(conf); TiSession session = TiSession.create(conf);
RawKVClient client = session.createRawClient(); 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 ## Documentation

View File

@ -24,7 +24,7 @@ Add maven dependency to `pom.xml`.
<dependency> <dependency>
<groupId>org.tikv</groupId> <groupId>org.tikv</groupId>
<artifactId>tikv-client-java</artifactId> <artifactId>tikv-client-java</artifactId>
<version>3.1.0</version> <version>3.3.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>

View File

@ -15,7 +15,7 @@ import org.tikv.raw.RawKVClient;
import org.tikv.shade.com.google.protobuf.ByteString; import org.tikv.shade.com.google.protobuf.ByteString;
public class Main { 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. // You MUST create a raw configuration if you are using RawKVClient.
TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379"); TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379");
TiSession session = TiSession.create(conf); 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; import org.tikv.common.TiConfiguration.ApiVersion;
public class Main { public class Main {
public static void main() { public static void main(String[] args) throws Exception {
TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379"); TiConfiguration conf = TiConfiguration.createRawDefault("127.0.0.1:2379");
conf.setApiVersion(ApiVersion.V2); conf.setApiVersion(ApiVersion.V2);
try(TiSession session = TiSession.create(conf)) { try(TiSession session = TiSession.create(conf)) {

View File

@ -23,7 +23,7 @@ import org.tikv.txn.TwoPhaseCommitter;
public class App { public class App {
public static void main(String[] args) throws Exception { 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)) { try (TiSession session = TiSession.create(conf)) {
// two-phrase write // two-phrase write
long startTS = session.getTimestamp().getVersion(); long startTS = session.getTimestamp().getVersion();