#215 - Polishing.

Minor formatting, trailing whitespace etc.
This commit is contained in:
Oliver Gierke
2016-11-23 09:55:52 +01:00
parent b68a4459bf
commit 00a4594764
4 changed files with 27 additions and 23 deletions

View File

@@ -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<Person> 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<Person,
// Accept parameter inside a reactive type for deferred execution
Flux<Person> findByLastname(Mono<String> lastname);
Mono<Person> findByFirstnameAndLastname(Mono<String> firstname, String lastname);
@InfiniteStream // Use a tailable cursor
Flux<Person> findWithTailableCursorBy();
}
@@ -50,10 +50,10 @@ public interface RxJava1PersonRepository extends RxJava1CrudRepository<Person, S
@Query("SELECT * FROM person WHERE firstname = ?0 and lastname = ?1")
Single<Person> findByFirstnameAndLastname(String firstname, String lastname);
// Accept parameter inside a reactive type for deferred execution
Observable<Person> findByLastname(Single<String> lastname);
Single<Person> findByFirstnameAndLastname(Single<String> 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.

View File

@@ -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;
}