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.
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.