#297 - Upgraded to Boot 2.0 and Spring Data Kay.

Bumped version number to 2.0. Upgraded to Spring Boot 2.0.

Stuff disabled in the meantime:

- Cassandra: needs API adaptions in configuration
- JPA > Security: test fails with weird Hibernate error
- Redis > Reactive: API updates needed
- Solr: configration updates necessary

adjust versions

Updated elastic search to the new version.

Fixed the reactor version to Bismuth-BUILD-SNAPSHOT. This probably should be undone when boot references the proper bom.
This commit is contained in:
Oliver Gierke
2017-05-04 19:28:40 +02:00
parent 90546357c7
commit 4164bc4607
98 changed files with 319 additions and 368 deletions

View File

@@ -5,54 +5,31 @@
<parent>
<groupId>org.springframework.data.examples</groupId>
<artifactId>spring-data-mongodb-examples</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.BUILD-SNAPSHOT</version>
</parent>
<artifactId>spring-data-mongodb-reactive</artifactId>
<name>Spring Data MongoDB - Reactive features</name>
<properties>
<spring-data-releasetrain.version>Kay-M1</spring-data-releasetrain.version>
<spring.version>5.0.0.M3</spring.version>
<reactor.version>3.0.3.RELEASE</reactor.version>
<rxjava.version>1.2.1</rxjava.version>
<rxjava-reactive-streams.version>1.2.0</rxjava-reactive-streams.version>
<mongodb-driver-reactivestreams.version>1.3.0</mongodb-driver-reactivestreams.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-reactivestreams</artifactId>
<version>${mongodb-driver-reactivestreams.version}</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
<dependency>
<groupId>io.reactivex</groupId>
<artifactId>rxjava</artifactId>
<version>${rxjava.version}</version>
</dependency>
<dependency>
<groupId>io.reactivex</groupId>
<artifactId>rxjava-reactive-streams</artifactId>
<version>${rxjava-reactive-streams.version}</version>
</dependency>
</dependencies>

View File

@@ -18,8 +18,8 @@ package example.springdata.mongodb.people;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import org.springframework.data.mongodb.repository.InfiniteStream;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.data.mongodb.repository.Tailable;
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
/**
@@ -70,6 +70,6 @@ public interface ReactivePersonRepository extends ReactiveCrudRepository<Person,
*
* @return
*/
@InfiniteStream
@Tailable
Flux<Person> findWithTailableCursorBy();
}

View File

@@ -18,8 +18,8 @@ package example.springdata.mongodb.people;
import rx.Observable;
import rx.Single;
import org.springframework.data.mongodb.repository.InfiniteStream;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.data.mongodb.repository.Tailable;
import org.springframework.data.repository.reactive.RxJava1CrudRepository;
/**
@@ -70,6 +70,6 @@ public interface RxJava1PersonRepository extends RxJava1CrudRepository<Person, S
*
* @return
*/
@InfiniteStream
@Tailable
Observable<Person> findWithTailableCursorBy();
}

View File

@@ -78,7 +78,7 @@ public class ReactiveMongoTemplateIntegrationTest {
.last() //
.flatMap(v -> template.count(new Query(), Person.class)) //
.doOnNext(System.out::println) //
.doOnComplete(countDownLatch::countDown) //
.doOnSuccess(it -> countDownLatch.countDown()) //
.doOnError(throwable -> countDownLatch.countDown()) //
.subscribe();

View File

@@ -17,7 +17,7 @@ package example.springdata.mongodb.people;
import static org.assertj.core.api.Assertions.*;
import reactor.core.Cancellation;
import reactor.core.Disposable;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@@ -55,7 +55,7 @@ public class ReactivePersonRepositoryIntegrationTest {
.block();
repository
.save(Flux.just(new Person("Walter", "White", 50), //
.saveAll(Flux.just(new Person("Walter", "White", 50), //
new Person("Skyler", "White", 45), //
new Person("Saul", "Goodman", 42), //
new Person("Jesse", "Pinkman", 27))) //
@@ -74,12 +74,12 @@ public class ReactivePersonRepositoryIntegrationTest {
repository.count() //
.doOnNext(System.out::println) //
.thenMany(repository.save(Flux.just(new Person("Hank", "Schrader", 43), //
.thenMany(repository.saveAll(Flux.just(new Person("Hank", "Schrader", 43), //
new Person("Mike", "Ehrmantraut", 62)))) //
.last() //
.flatMap(v -> repository.count()) //
.doOnNext(System.out::println) //
.doOnComplete(countDownLatch::countDown) //
.doOnSuccess(it -> countDownLatch.countDown()) //
.doOnError(throwable -> countDownLatch.countDown()) //
.subscribe();
@@ -109,7 +109,7 @@ public class ReactivePersonRepositoryIntegrationTest {
@Test
public void shouldStreamDataWithTailableCursor() throws Exception {
Cancellation cancellation = repository.findWithTailableCursorBy() //
Disposable disposable = repository.findWithTailableCursorBy() //
.doOnNext(System.out::println) //
.doOnComplete(() -> System.out.println("Complete")) //
.doOnTerminate(() -> System.out.println("Terminated")) //
@@ -123,7 +123,7 @@ public class ReactivePersonRepositoryIntegrationTest {
repository.save(new Person("Mike", "Ehrmantraut", 62)).subscribe();
Thread.sleep(100);
cancellation.dispose();
disposable.dispose();
repository.save(new Person("Gus", "Fring", 53)).subscribe();
Thread.sleep(100);

View File

@@ -59,7 +59,7 @@ public class RxJava1PersonRepositoryIntegrationTest {
.block();
repository
.save(Observable.just(new Person("Walter", "White", 50), //
.saveAll(Observable.just(new Person("Walter", "White", 50), //
new Person("Skyler", "White", 45), //
new Person("Saul", "Goodman", 42), //
new Person("Jesse", "Pinkman", 27))) //
@@ -75,11 +75,13 @@ public class RxJava1PersonRepositoryIntegrationTest {
CountDownLatch countDownLatch = new CountDownLatch(1);
Observable<Person> people = Observable.just(new Person("Hank", "Schrader", 43), //
new Person("Mike", "Ehrmantraut", 62));
repository.count() //
.doOnSuccess(System.out::println) //
.toObservable() //
.switchMap(count -> repository.save(Observable.just(new Person("Hank", "Schrader", 43), //
new Person("Mike", "Ehrmantraut", 62)))) //
.switchMap(count -> repository.saveAll(people)) //
.last() //
.toSingle() //
.flatMap(v -> repository.count()) //