@@ -49,7 +49,7 @@ public abstract class AbstractReactiveNeo4jConfig extends Neo4jConfigurationSupp
49
49
private ObjectProvider <ReactiveUserSelectionProvider > userSelectionProviders ;
50
50
51
51
@ Autowired
52
- private Neo4jBookmarkManager bookmarkManager ;
52
+ private ObjectProvider < Neo4jBookmarkManager > bookmarkManagerProviders ;
53
53
54
54
/**
55
55
* The driver to be used for interacting with Neo4j.
@@ -70,10 +70,14 @@ public ReactiveNeo4jClient neo4jClient(Driver driver, ReactiveDatabaseSelectionP
70
70
return ReactiveNeo4jClient .with (driver )
71
71
.withDatabaseSelectionProvider (databaseSelectionProvider )
72
72
.withUserSelectionProvider (getUserSelectionProvider ())
73
- .withNeo4jBookmarkManager (bookmarkManager )
73
+ .withNeo4jBookmarkManager (getBootBookmarkManager () )
74
74
.build ();
75
75
}
76
76
77
+ private Neo4jBookmarkManager getBootBookmarkManager () {
78
+ return this .bookmarkManagerProviders .getIfAvailable (Neo4jBookmarkManager ::createReactive );
79
+ }
80
+
77
81
@ Nullable
78
82
private ReactiveUserSelectionProvider getUserSelectionProvider () {
79
83
return this .userSelectionProviders == null ? null : this .userSelectionProviders .getIfUnique ();
@@ -99,7 +103,7 @@ public ReactiveTransactionManager reactiveTransactionManager(Driver driver,
99
103
return ReactiveNeo4jTransactionManager .with (driver )
100
104
.withDatabaseSelectionProvider (databaseSelectionProvider )
101
105
.withUserSelectionProvider (getUserSelectionProvider ())
102
- .withBookmarkManager (bookmarkManager )
106
+ .withBookmarkManager (getBootBookmarkManager () )
103
107
.build ();
104
108
}
105
109
0 commit comments