@@ -170,7 +170,7 @@ private InternalDriver createDriver(
170
170
try {
171
171
var homeDatabaseCache =
172
172
HomeDatabaseCache .newInstance (uri .getScheme ().startsWith ("neo4j" ));
173
- boltConnectionProvider = createBoltConnectionProvider (
173
+ boltConnectionProvider = createDriverBoltConnectionProvider (
174
174
uri ,
175
175
config ,
176
176
eventLoopGroup ,
@@ -223,7 +223,7 @@ private Function<BoltServerAddress, Set<BoltServerAddress>> createBoltServerAddr
223
223
.collect (Collectors .toCollection (LinkedHashSet ::new ));
224
224
}
225
225
226
- private DriverBoltConnectionProvider createBoltConnectionProvider (
226
+ private DriverBoltConnectionProvider createDriverBoltConnectionProvider (
227
227
URI uri ,
228
228
Config config ,
229
229
EventLoopGroup eventLoopGroup ,
@@ -236,8 +236,48 @@ private DriverBoltConnectionProvider createBoltConnectionProvider(
236
236
String userAgent ,
237
237
int connectTimeoutMillis ,
238
238
MetricsListener metricsListener ) {
239
- DriverBoltConnectionProvider boltConnectionProvider ;
240
239
var clock = createClock ();
240
+ var boltConnectionProvider = createBoltConnectionProvider (
241
+ uri ,
242
+ config ,
243
+ eventLoopGroup ,
244
+ routingSettings ,
245
+ rediscoverySupplier ,
246
+ boltConnectionListener ,
247
+ address ,
248
+ routingContext ,
249
+ boltAgent ,
250
+ userAgent ,
251
+ connectTimeoutMillis ,
252
+ metricsListener ,
253
+ clock );
254
+ return new AdaptingDriverBoltConnectionProvider (
255
+ boltConnectionProvider ,
256
+ ErrorMapper .getInstance (),
257
+ BoltValueFactory .getInstance (),
258
+ uri .getScheme ().startsWith ("neo4j" ),
259
+ address ,
260
+ routingContext ,
261
+ boltAgent ,
262
+ userAgent ,
263
+ connectTimeoutMillis );
264
+ }
265
+
266
+ protected BoltConnectionProvider createBoltConnectionProvider (
267
+ URI uri ,
268
+ Config config ,
269
+ EventLoopGroup eventLoopGroup ,
270
+ RoutingSettings routingSettings ,
271
+ Supplier <Rediscovery > rediscoverySupplier ,
272
+ BoltConnectionListener boltConnectionListener ,
273
+ BoltServerAddress address ,
274
+ RoutingContext routingContext ,
275
+ BoltAgent boltAgent ,
276
+ String userAgent ,
277
+ int connectTimeoutMillis ,
278
+ MetricsListener metricsListener ,
279
+ Clock clock ) {
280
+ BoltConnectionProvider boltConnectionProvider ;
241
281
var loggingProvider = new BoltLoggingProvider (config .logging ());
242
282
Function <BoltServerAddress , BoltConnectionProvider > pooledBoltConnectionProviderSupplier =
243
283
selectedAddress -> createPooledBoltConnectionProvider (
@@ -252,42 +292,23 @@ private DriverBoltConnectionProvider createBoltConnectionProvider(
252
292
userAgent ,
253
293
connectTimeoutMillis ,
254
294
metricsListener );
255
- var errorMapper = ErrorMapper . getInstance ();
256
- if ( uri . getScheme (). startsWith ( "bolt" )) {
257
- assertNoRoutingContext ( uri , routingSettings );
258
- boltConnectionProvider = new AdaptingDriverBoltConnectionProvider (
259
- pooledBoltConnectionProviderSupplier . apply ( address ) ,
260
- errorMapper ,
261
- BoltValueFactory . getInstance () ,
262
- false ,
295
+ if ( uri . getScheme (). startsWith ( "neo4j" )) {
296
+ boltConnectionProvider = createRoutedBoltConnectionProvider (
297
+ config ,
298
+ pooledBoltConnectionProviderSupplier ,
299
+ routingSettings ,
300
+ rediscoverySupplier ,
301
+ clock ,
302
+ loggingProvider ,
263
303
address ,
264
304
routingContext ,
265
305
boltAgent ,
266
306
userAgent ,
267
- connectTimeoutMillis );
307
+ connectTimeoutMillis ,
308
+ metricsListener );
268
309
} else {
269
- boltConnectionProvider = new AdaptingDriverBoltConnectionProvider (
270
- createRoutedBoltConnectionProvider (
271
- config ,
272
- pooledBoltConnectionProviderSupplier ,
273
- routingSettings ,
274
- rediscoverySupplier ,
275
- clock ,
276
- loggingProvider ,
277
- address ,
278
- routingContext ,
279
- boltAgent ,
280
- userAgent ,
281
- connectTimeoutMillis ,
282
- metricsListener ),
283
- errorMapper ,
284
- BoltValueFactory .getInstance (),
285
- true ,
286
- address ,
287
- routingContext ,
288
- boltAgent ,
289
- userAgent ,
290
- connectTimeoutMillis );
310
+ assertNoRoutingContext (uri , routingSettings );
311
+ boltConnectionProvider = pooledBoltConnectionProviderSupplier .apply (address );
291
312
}
292
313
return boltConnectionProvider ;
293
314
}
0 commit comments