Crate Java Client

To access a Crate Cluster a Java client library is available. The library exposes a very simply interface to query Crate using SQL.

Usage

A minimal example is just a few lines of code:

import org.cratedb.client.CrateClient;

CrateClient client = new CrateClient("server1.crate.org:9300", "server2.crate.org:9300");
SQLResponse r = client.sql("select firstName, lastName from users").actionGet();

System.out.println(Arrays.toString(r.cols()));
// outputs ["firstName", "lastName"]

for (Object[] row: r.rows()){
    System.out.println(Arrays.toString(row));
}
// outputs the users. For example:
// ["Arthur", "Dent"]
// ["Ford", "Perfect"]

The CrateClient takes multiple servers as arguments. They are used in a round-robin fashion to distribute the load. In case a server is unavailable it will be skipped.

Queries are executed asynchronous. client.sql(“”) will return a Future<SQLResponse> and code execution is only blocked if .actionGet() is called on it.

Maven

The easiest way to use the crateclient is to include it as a dependency using maven:

<dependency>
    <groupId>org.crate<groupId>
    <artifactId>crateClient</artifactId>
    <version>0.1.0</version>
</dependency>

Table Of Contents

Previous topic

Client Libraries

Next topic

Crate Client Usage