diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java index 4333052db..bebdc6624 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java @@ -2221,10 +2221,12 @@ public class ReactiveMongoTemplate implements ReactiveMongoOperations, Applicati publisher = filter.isEmpty() ? db.watch(Document.class) : db.watch(filter, Document.class); } - if(options.isResumeAfter()) { - publisher = options.getResumeToken().map(BsonValue::asDocument).map(publisher::resumeAfter).orElse(publisher); + if (options.isResumeAfter()) { + publisher = options.getResumeToken().map(BsonValue::asDocument).map(publisher::resumeAfter) + .orElse(publisher); } else if (options.isStartAfter()) { - publisher = options.getResumeToken().map(BsonValue::asDocument).map(publisher::startAfter).orElse(publisher); + publisher = options.getResumeToken().map(BsonValue::asDocument).map(publisher::startAfter) + .orElse(publisher); } publisher = options.getCollation().map(Collation::toMongoCollation).map(publisher::collation) .orElse(publisher); diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java index b6fedd86e..01e827751 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java @@ -1500,7 +1500,9 @@ public class ReactiveMongoTemplateUnitTests { when(changeStreamPublisher.fullDocument(any())).thenReturn(changeStreamPublisher); BsonDocument token = new BsonDocument("token", new BsonString("id")); - template.changeStream("database", "collection", ChangeStreamOptions.builder().startAfter(token).build(), Object.class).subscribe(); + template + .changeStream("database", "collection", ChangeStreamOptions.builder().startAfter(token).build(), Object.class) + .subscribe(); verify(changeStreamPublisher).startAfter(eq(token)); } @@ -1530,6 +1532,7 @@ public class ReactiveMongoTemplateUnitTests { AutogenerateableId foo; } + static class PersonExtended extends Person { String lastname;