@@ -49,7 +49,7 @@ public abstract class AbstractReactiveNeo4jConfig extends Neo4jConfigurationSupp
4949 private ObjectProvider <ReactiveUserSelectionProvider > userSelectionProviders ;
5050
5151 @ Autowired
52- private Neo4jBookmarkManager bookmarkManager ;
52+ private ObjectProvider < Neo4jBookmarkManager > bookmarkManagerProviders ;
5353
5454 /**
5555 * The driver to be used for interacting with Neo4j.
@@ -70,10 +70,14 @@ public ReactiveNeo4jClient neo4jClient(Driver driver, ReactiveDatabaseSelectionP
7070 return ReactiveNeo4jClient .with (driver )
7171 .withDatabaseSelectionProvider (databaseSelectionProvider )
7272 .withUserSelectionProvider (getUserSelectionProvider ())
73- .withNeo4jBookmarkManager (bookmarkManager )
73+ .withNeo4jBookmarkManager (getBootBookmarkManager () )
7474 .build ();
7575 }
7676
77+ private Neo4jBookmarkManager getBootBookmarkManager () {
78+ return this .bookmarkManagerProviders .getIfAvailable (Neo4jBookmarkManager ::createReactive );
79+ }
80+
7781 @ Nullable
7882 private ReactiveUserSelectionProvider getUserSelectionProvider () {
7983 return this .userSelectionProviders == null ? null : this .userSelectionProviders .getIfUnique ();
@@ -99,7 +103,7 @@ public ReactiveTransactionManager reactiveTransactionManager(Driver driver,
99103 return ReactiveNeo4jTransactionManager .with (driver )
100104 .withDatabaseSelectionProvider (databaseSelectionProvider )
101105 .withUserSelectionProvider (getUserSelectionProvider ())
102- .withBookmarkManager (bookmarkManager )
106+ .withBookmarkManager (getBootBookmarkManager () )
103107 .build ();
104108 }
105109
0 commit comments