Illustration Image

Cassandra.Link

The best knowledge base on Apache Cassandra®

Helping platform leaders, architects, engineers, and operators build scalable real time data platforms.

10/31/2017

Reading time:3 min

DataStax Java Driver

by John Doe

If you're reading this on github.com, please note that this is the readmefor the development version and that some features described here mightnot yet have been released. You can find the documentation for latestversion through Java driverdocs or via the release tags,e.g.3.3.0.A modern, feature-rich and highly tunable Java clientlibrary for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) usingexclusively Cassandra's binary protocol and Cassandra Query Language v3.Features:The driver architecture is based on layers. At the bottom lies the driver core.This core handles everything related to the connections to a Cassandracluster (for example, connection pool, discovering new nodes, etc.) and exposes a simple,relatively low-level API on top of which higher level layers can be built.The driver contains the following modules:driver-core: the core layer.driver-mapping: the object mapper.driver-extras: optional features for the Java driver.driver-examples: example applications using the other modules which areonly meant for demonstration purposes.driver-tests: tests for the java-driver.Useful links:JIRA (bug tracking): https://datastax-oss.atlassian.net/browse/JAVAMAILING LIST: https://groups.google.com/a/lists.datastax.com/forum/#!forum/java-driver-userIRC: #datastax-drivers on irc.freenode.netTWITTER: @dsJavaDriver tweets Javadriver releases and important announcements (low frequency).@DataStaxEng has more news includingother drivers, Cassandra, and DSE.DOCS: the manual has quickstart material and technical details about the driver and its features.API: http://www.datastax.com/drivers/java/3.2changelogbinary tarballFeeback requested: help us focus our efforts, provide your input on the Platform and Runtime Survey (we kept it short).Getting the driverThe last release of the driver is available on Maven Central. You can installit in your application using the following Maven dependency:<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>3.3.0</version></dependency>Note that the object mapper is published as a separate artifact:<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-mapping</artifactId> <version>3.3.0</version></dependency>The 'extras' module is also published as a separate artifact:<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-extras</artifactId> <version>3.3.0</version></dependency>We also provide a shaded JARto avoid the explicit dependency to Netty.If you can't use a dependency management tool, abinary tarballis available for download.CompatibilityThe Java client driver 3.3.0 (branch 3.x) is compatible with ApacheCassandra 1.2, 2.0, 2.1, 2.2 and 3.0 (see this page forthe most up-to-date compatibility information).UDT and tuple support is available only when using Apache Cassandra 2.1 or higher (see CQL improvements in Cassandra 2.1).Other features are available only when using Apache Cassandra 2.0 or higher (e.g. result set paging,BatchStatement,lightweight transactions-- see What's new in Cassandra 2.0).Trying to use these with a cluster running Cassandra 1.2 will result inan UnsupportedFeatureException being thrown.Note: DataStax products do not support big-endian systems.Upgrading from previous versionsIf you are upgrading from a previous version of the driver, be sure to have a look atthe upgrade guide.TroubleshootingIf you are having issues connecting to the cluster (seeing NoHostAvailableConnection exceptions) please check theconnection requirements.LicenseCopyright 2012-2015, DataStaxLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

Illustration Image

Build Status

If you're reading this on github.com, please note that this is the readme for the development version and that some features described here might not yet have been released. You can find the documentation for latest version through Java driver docs or via the release tags, e.g. 3.3.0.

A modern, feature-rich and highly tunable Java client library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3.

Features:

The driver architecture is based on layers. At the bottom lies the driver core. This core handles everything related to the connections to a Cassandra cluster (for example, connection pool, discovering new nodes, etc.) and exposes a simple, relatively low-level API on top of which higher level layers can be built.

The driver contains the following modules:

  • driver-core: the core layer.
  • driver-mapping: the object mapper.
  • driver-extras: optional features for the Java driver.
  • driver-examples: example applications using the other modules which are only meant for demonstration purposes.
  • driver-tests: tests for the java-driver.

Useful links:

Feeback requested: help us focus our efforts, provide your input on the Platform and Runtime Survey (we kept it short).

Getting the driver

The last release of the driver is available on Maven Central. You can install it in your application using the following Maven dependency:

<dependency>
  <groupId>com.datastax.cassandra</groupId>
  <artifactId>cassandra-driver-core</artifactId>
  <version>3.3.0</version>
</dependency>

Note that the object mapper is published as a separate artifact:

<dependency>
  <groupId>com.datastax.cassandra</groupId>
  <artifactId>cassandra-driver-mapping</artifactId>
  <version>3.3.0</version>
</dependency>

The 'extras' module is also published as a separate artifact:

<dependency>
  <groupId>com.datastax.cassandra</groupId>
  <artifactId>cassandra-driver-extras</artifactId>
  <version>3.3.0</version>
</dependency>

We also provide a shaded JAR to avoid the explicit dependency to Netty.

If you can't use a dependency management tool, a binary tarball is available for download.

Compatibility

The Java client driver 3.3.0 (branch 3.x) is compatible with Apache Cassandra 1.2, 2.0, 2.1, 2.2 and 3.0 (see this page for the most up-to-date compatibility information).

UDT and tuple support is available only when using Apache Cassandra 2.1 or higher (see CQL improvements in Cassandra 2.1).

Other features are available only when using Apache Cassandra 2.0 or higher (e.g. result set paging, BatchStatement, lightweight transactions -- see What's new in Cassandra 2.0). Trying to use these with a cluster running Cassandra 1.2 will result in an UnsupportedFeatureException being thrown.

Note: DataStax products do not support big-endian systems.

Upgrading from previous versions

If you are upgrading from a previous version of the driver, be sure to have a look at the upgrade guide.

Troubleshooting

If you are having issues connecting to the cluster (seeing NoHostAvailableConnection exceptions) please check the connection requirements.

License

Copyright 2012-2015, DataStax

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Related Articles

packages
cassandra
admin-monitor

DataStax Enterprise OpsCenter

John Doe

7/24/2018

Checkout Planet Cassandra

Claim Your Free Planet Cassandra Contributor T-shirt!

Make your contribution and score a FREE Planet Cassandra Contributor T-Shirt! 
We value our incredible Cassandra community, and we want to express our gratitude by sending an exclusive Planet Cassandra Contributor T-Shirt you can wear with pride.

Join Our Newsletter!

Sign up below to receive email updates and see what's going on with our company

Explore Related Topics

AllKafkaSparkScyllaSStableKubernetesApiGithubGraphQl

Explore Further

libraries