This commit adds an additional constructor to MongoObservationCommandListener that allows to set a custom MongoHandlerObservationConvention.
Closes: #4321
Original Pull Request: #4607
We now are compatible with MongoDB driver versions 4 and 5. Driver versions can be interchanged and our adapter bridges changed methods via reflection. Usage of removed functionality is either ignored or fails with an exception.
Original pull request: #4624Closes: #4578
Update the reference documentation about collection initialization on read, add the required tests to make sure it behaves as expected and simplify BeanUtils value presence check.
Closes#4571
Original pull request: #4574
Remove unused imports.
Simplify if & switch statements.
Use Set.of, List.of for unmodifiable collections.
Remove redundant usage of semicolon.
Fix broken references in Javadoc.
Fix Typos.
Extend value caching for MongoPersistentProperties.
See: #4555
Original pull request: #4556
We now use Flux.flatMapSequential(…) instead of concatMap as concatMap reduces the request size to 1. The change in backpressure/request size reduces parallelism and impacts the batch size by fetching 2 documents instead of considering the actual backpressure.
flatMapSequential doesn't tamper the requested amount while retaining the sequence order.
Closes: #4543
Original Pull Request: #4550
This commit makes sure to fail early if an annotated string based annotation does not contain a syntactically valid pipeline.
Original pull request: #4547Closes#4546
This commit ensures to pass on a potentially set FullDocumentBeforeChange option to the change stream iterable/publisher.
It also corrects false optional behavior within the change stream task which did some defaulting though the actual value is an optional one that must not be present.
Original pull request: #4541Closes#4495
This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails.
This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors.
Additionally, the project will have access to all features of Gradle Enterprise such as:
- Dashboards to view all historical build scans, along with performance trends over time
- Build failure analytics for enhanced investigation and diagnosis of build failures
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests
See #4528