Description
While both imperative and reactive transaction managers and the underlying support for Neo4j causal cluster bookmarks have been designed as black boxes and the bookmark manager is not intended to be configurable, there are some scenarios in which it would be helpful to retrieve the latest bookmark an application received from a cluster and seed the transaction system with some bookmarks available.
One of these scenarios is simple: Testing against a cluster database and seeding that database via a driver session outside Springs transaction management so that the code under test is not used to seed and assert, too.
The new APIs introduced for that should be considered experimental for the time being, but we intend to keep them around for the purpose mentioned above and support them in the future.
We will use Springs event system to retrieve the latest bookmark and allow exactly one supplier of bookmarks to seed the transaction system.