Files
spring-data-examples/cassandra/java8
Mark Paluch 95978416d1 #203 - Revise Cassandra Examples.
Simplify examples by adopting Spring Boot 1.4 improvements. Upgrade Cassandra Java driver to 3.0.3. Add examples for Ingalls (Query derivation, projection, Java 8 feature support).

Cassandra example setup is now self-contained by requiring just a running Cassandra instance.
Keyspace and tables are created during the tests. Examples also check if Cassandra is running and some examples additionally check the required version. Test execution is skipped if conditions are not met.

Cassandra (2.x) is started with TravisCI.
2016-07-27 22:18:43 +02:00
..
2016-07-27 22:18:43 +02:00
2016-07-27 22:18:43 +02:00
2016-07-27 22:18:43 +02:00

Spring Data Cassandra - Java 8 examples

This project contains samples of Java 8 specific features of Spring Data (Cassandra).

Support for JDK 8's Stream for repository methods

Repository methods can use a Java 8 Stream as a return type which will cause the reading of the results and the to-object-conversion of rows to happen while iterating over the stream.

public interface PersonRepository extends CrudRepository<Person, String> {

  @Override
  List<Person> findAll();

  //Custom Query method returning a Java 8 Stream
  @Query("SELECT * FROM person")
  Stream<Person> findAllByCustomQueryWithStream();
}

The test cases in PersonRepositoryIntegrationTest oppose a plain List based query method with one that uses a Stream and shows how the former pulls all data into memory first and the iteration is done over the pre-populated list. The execution of the Stream-based method in contrast shows that the individual elements are read and converted while iterating the stream.

Preparation

Install Cassandra

Before we can start we have to install Cassandra, e.g. via brew on Max OS.

More details can be found here: https://wiki.apache.org/cassandra/GettingStarted

Start Cassandra

/usr/local/bin/cassandra -f 

That should be enough to get you started. Now you can simply type mvn clean install to run the example.