Module spring.data.neo4j
Interface Neo4jBookmarkManager
@API(status=STABLE,
since="6.1.1")
public sealed interface Neo4jBookmarkManager
Responsible for storing, updating and retrieving the bookmarks of Neo4j's transaction.
- Since:
- 6.0
- Author:
- Michael J. Simons
-
Method Summary
Modifier and TypeMethodDescriptionstatic Neo4jBookmarkManagercreate()Returns the default bookmark manager.static Neo4jBookmarkManagerUse this factory method to add supplier of initial "seeding" bookmarks to the transaction managersstatic Neo4jBookmarkManagerstatic Neo4jBookmarkManagercreateReactive(Supplier<Set<org.neo4j.driver.Bookmark>> bookmarksSupplier) Use this factory method to add supplier of initial "seeding" bookmarks to the transaction managersCollection<org.neo4j.driver.Bookmark>No need to introspect this collection ever.static Neo4jBookmarkManagernoop()Use this bookmark manager at your own risk, it will effectively disable any bookmark management by dropping all bookmarks and never supplying any.default voidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) A hook for bookmark managers supporting events.voidupdateBookmarks(Collection<org.neo4j.driver.Bookmark> usedBookmarks, Collection<org.neo4j.driver.Bookmark> newBookmarks) Refreshes the bookmark manager with thenewBookmarks new bookmarksreceived after the last transaction committed.
-
Method Details
-
create
Returns the default bookmark manager.- Returns:
- the default bookmark manager
-
createReactive
- Returns:
- default reactive version of bookmark manager
-
create
static Neo4jBookmarkManager create(@Nullable Supplier<Set<org.neo4j.driver.Bookmark>> bookmarksSupplier) Use this factory method to add supplier of initial "seeding" bookmarks to the transaction managersWhile this class will make sure that the supplier will be accessed in a thread-safe manner, it is the caller's duty to provide a thread safe supplier (not changing the seed during a call, etc.).
- Parameters:
bookmarksSupplier- A supplier for seeding bookmarks, can be null. The supplier is free to provide different bookmarks on each call.- Returns:
- A bookmark manager
-
createReactive
static Neo4jBookmarkManager createReactive(@Nullable Supplier<Set<org.neo4j.driver.Bookmark>> bookmarksSupplier) Use this factory method to add supplier of initial "seeding" bookmarks to the transaction managersWhile this class will make sure that the supplier will be accessed in a thread-safe manner, it is the caller's duty to provide a thread safe supplier (not changing the seed during a call, etc.).
- Parameters:
bookmarksSupplier- A supplier for seeding bookmarks, can be null. The supplier is free to provide different bookmarks on each call.- Returns:
- A reactive bookmark manager
-
noop
Use this bookmark manager at your own risk, it will effectively disable any bookmark management by dropping all bookmarks and never supplying any. In a cluster you will be at a high risk of experiencing stale reads. In a single instance it will most likely not make any difference.In a cluster this can be a sensible approach only and if only you can tolerate stale reads and are not in danger of overwriting old data.
- Returns:
- A noop bookmark manager, dropping new bookmarks immediately, never supplying bookmarks.
- Since:
- 6.1.11
-
getBookmarks
Collection<org.neo4j.driver.Bookmark> getBookmarks()No need to introspect this collection ever. The Neo4j driver will together with the cluster figure out which of the bookmarks is the most recent one.- Returns:
- a collection of currently known bookmarks
-
updateBookmarks
void updateBookmarks(Collection<org.neo4j.driver.Bookmark> usedBookmarks, Collection<org.neo4j.driver.Bookmark> newBookmarks) Refreshes the bookmark manager with thenewBookmarks new bookmarksreceived after the last transaction committed. The collection ofusedBookmarksshould be removed from the list of known bookmarks.- Parameters:
usedBookmarks- The collection of bookmarks known prior to the end of a transactionnewBookmarks- The bookmarks received after the end of a transaction- See Also:
-
setApplicationEventPublisher
default void setApplicationEventPublisher(@Nullable ApplicationEventPublisher applicationEventPublisher) A hook for bookmark managers supporting events.- Parameters:
applicationEventPublisher- An event publisher. If null, no events will be published.
-