diff --git a/cassandra/reactive/README.md b/cassandra/reactive/README.md index 561729fd..c8f17976 100644 --- a/cassandra/reactive/README.md +++ b/cassandra/reactive/README.md @@ -2,7 +2,7 @@ This project contains samples of reactive data access features with Spring Data (Cassandra). -## Reactive Template API usage with `ReactiveCassandraTemplate` +## Reactive Template API usage with `ReactiveCassandraTemplate` The main reactive Template API class is `ReactiveCassandraTemplate`, ideally used through its interface `ReactiveCassandraOperations`. It defines a basic set of reactive data access operations using [Project Reactor](http://projectreactor.io) `Mono` and `Flux` reactive types. @@ -11,18 +11,18 @@ template.insert(Flux.just(new Person("Walter", "White", 50), new Person("Skyler", "White", 45), new Person("Saul", "Goodman", 42), new Person("Jesse", "Pinkman", 27))); - + Flux flux = template.select(select() .from("person") .where(eq("lastname", "White")), Person.class); ``` -The test cases in `ReactiveCassandraTemplateIntegrationTest` show basic Template API usage. +The test cases in `ReactiveCassandraTemplateIntegrationTest` show basic Template API usage. Reactive data access reads and converts individual elements while processing the stream. ## Reactive Repository support - + Spring Data Cassandra provides reactive repository support with Project Reactor and RxJava 1 reactive types. The reactive API supports reactive type conversion between reactive types. ```java @@ -35,9 +35,9 @@ public interface ReactivePersonRepository extends ReactiveCrudRepository findByLastname(Mono lastname); - + Mono findByFirstnameAndLastname(Mono firstname, String lastname); - + @InfiniteStream // Use a tailable cursor Flux findWithTailableCursorBy(); } @@ -50,10 +50,10 @@ public interface RxJava1PersonRepository extends RxJava1CrudRepository findByFirstnameAndLastname(String firstname, String lastname); - + // Accept parameter inside a reactive type for deferred execution Observable findByLastname(Single lastname); - + Single findByFirstnameAndLastname(Single firstname, String lastname); @InfiniteStream // Use a tailable cursor @@ -72,7 +72,7 @@ More details can be found here: https://wiki.apache.org/cassandra/GettingStarted ### Start Cassandra ``` -/usr/local/bin/cassandra -f +/usr/local/bin/cassandra -f ``` That should be enough to get you started. diff --git a/cassandra/reactive/src/main/java/example/springdata/cassandra/people/Person.java b/cassandra/reactive/src/main/java/example/springdata/cassandra/people/Person.java index 7d6b8703..db8a92df 100644 --- a/cassandra/reactive/src/main/java/example/springdata/cassandra/people/Person.java +++ b/cassandra/reactive/src/main/java/example/springdata/cassandra/people/Person.java @@ -34,7 +34,11 @@ import org.springframework.data.cassandra.mapping.Table; @Table public class Person { - @PrimaryKeyColumn(type = PrimaryKeyType.CLUSTERED, ordinal = 2) private String firstname; - @PrimaryKeyColumn(type = PrimaryKeyType.PARTITIONED, ordinal = 1) private String lastname; + @PrimaryKeyColumn(type = PrimaryKeyType.CLUSTERED, ordinal = 2) // + private String firstname; + + @PrimaryKeyColumn(type = PrimaryKeyType.PARTITIONED, ordinal = 1) // + private String lastname; + private int age; } diff --git a/mongodb/reactive/README.md b/mongodb/reactive/README.md index 5e9c0f2f..ca05d922 100644 --- a/mongodb/reactive/README.md +++ b/mongodb/reactive/README.md @@ -4,11 +4,11 @@ This project contains samples of reactive data access features with Spring Data ## Prerequisites -MongoDB requires the Reactive Streams driver to provide reactive data access. -The Reactive Streams driver maintains its own connections. Using Spring Data MongoDB Reactive support +MongoDB requires the Reactive Streams driver to provide reactive data access. +The Reactive Streams driver maintains its own connections. Using Spring Data MongoDB Reactive support together with blocking Spring Data MongoDB data access will open multiple connections to your MongoDB servers. -## Reactive Template API usage with `ReactiveMongoTemplate` +## Reactive Template API usage with `ReactiveMongoTemplate` The main reactive Template API class is `ReactiveMongoTemplate`, ideally used through its interface `ReactiveMongoOperations`. It defines a basic set of reactive data access operations using [Project Reactor](http://projectreactor.io) `Mono` and `Flux` reactive types. @@ -17,16 +17,16 @@ template.insertAll(Flux.just(new Person("Walter", "White", 50), new Person("Skyler", "White", 45), new Person("Saul", "Goodman", 42), new Person("Jesse", "Pinkman", 27))); - + Flux flux = template.find(Query.query(Criteria.where("lastname").is("White")), Person.class); ``` -The test cases in `ReactiveMongoTemplateIntegrationTest` show basic Template API usage. +The test cases in `ReactiveMongoTemplateIntegrationTest` show basic Template API usage. Reactive data access reads and converts individual elements while processing the stream. ## Reactive Repository support - + Spring Data MongoDB provides reactive repository support with Project Reactor and RxJava 1 reactive types. The reactive API supports reactive type conversion between reactive types. ```java @@ -39,9 +39,9 @@ public interface ReactivePersonRepository extends ReactiveCrudRepository findByLastname(Mono lastname); - + Mono findByFirstnameAndLastname(Mono firstname, String lastname); - + @InfiniteStream // Use a tailable cursor Flux findWithTailableCursorBy(); } @@ -54,13 +54,13 @@ public interface RxJava1PersonRepository extends RxJava1CrudRepository findByFirstnameAndLastname(String firstname, String lastname); - + // Accept parameter inside a reactive type for deferred execution Observable findByLastname(Single lastname); - + Single findByFirstnameAndLastname(Single firstname, String lastname); @InfiniteStream // Use a tailable cursor Observable findWithTailableCursorBy(); } -``` \ No newline at end of file +``` diff --git a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java index deb38af4..c0500f90 100644 --- a/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java +++ b/mongodb/reactive/src/main/java/example/springdata/mongodb/people/ReactivePersonRepository.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.