diff --git a/benchkit-backend/pom.xml b/benchkit-backend/pom.xml index b1afa937e5..b93e063697 100644 --- a/benchkit-backend/pom.xml +++ b/benchkit-backend/pom.xml @@ -7,7 +7,7 @@ neo4j-java-driver-parent org.neo4j.driver - 5.27-SNAPSHOT + 5.28-SNAPSHOT benchkit-backend diff --git a/bolt-api-netty/pom.xml b/bolt-api-netty/pom.xml index f9978828f8..e637e93c5e 100644 --- a/bolt-api-netty/pom.xml +++ b/bolt-api-netty/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT neo4j-bolt-api-netty diff --git a/bolt-api-pooled/pom.xml b/bolt-api-pooled/pom.xml index 5d8b8b1b4f..b65566e387 100644 --- a/bolt-api-pooled/pom.xml +++ b/bolt-api-pooled/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT neo4j-bolt-api-pooled diff --git a/bolt-api-routed/pom.xml b/bolt-api-routed/pom.xml index 7edc96104a..929a7bf1e7 100644 --- a/bolt-api-routed/pom.xml +++ b/bolt-api-routed/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT neo4j-bolt-api-routed diff --git a/bolt-api-test-values/pom.xml b/bolt-api-test-values/pom.xml index 3bfd41b241..35c422959b 100644 --- a/bolt-api-test-values/pom.xml +++ b/bolt-api-test-values/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT neo4j-bolt-api-test-values diff --git a/bolt-api/pom.xml b/bolt-api/pom.xml index 9b2f3993e5..cf2218d953 100644 --- a/bolt-api/pom.xml +++ b/bolt-api/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT neo4j-bolt-api diff --git a/bundle/pom.xml b/bundle/pom.xml index 0746d61565..b4797c254f 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT .. diff --git a/driver/pom.xml b/driver/pom.xml index 0b4276ea40..c7047a5ad5 100644 --- a/driver/pom.xml +++ b/driver/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT neo4j-java-driver diff --git a/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java b/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java index bf2b335b5d..a5fa0abef9 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java +++ b/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java @@ -170,7 +170,7 @@ private InternalDriver createDriver( try { var homeDatabaseCache = HomeDatabaseCache.newInstance(uri.getScheme().startsWith("neo4j")); - boltConnectionProvider = createBoltConnectionProvider( + boltConnectionProvider = createDriverBoltConnectionProvider( uri, config, eventLoopGroup, @@ -223,7 +223,7 @@ private Function> createBoltServerAddr .collect(Collectors.toCollection(LinkedHashSet::new)); } - private DriverBoltConnectionProvider createBoltConnectionProvider( + private DriverBoltConnectionProvider createDriverBoltConnectionProvider( URI uri, Config config, EventLoopGroup eventLoopGroup, @@ -236,8 +236,48 @@ private DriverBoltConnectionProvider createBoltConnectionProvider( String userAgent, int connectTimeoutMillis, MetricsListener metricsListener) { - DriverBoltConnectionProvider boltConnectionProvider; var clock = createClock(); + var boltConnectionProvider = createBoltConnectionProvider( + uri, + config, + eventLoopGroup, + routingSettings, + rediscoverySupplier, + boltConnectionListener, + address, + routingContext, + boltAgent, + userAgent, + connectTimeoutMillis, + metricsListener, + clock); + return new AdaptingDriverBoltConnectionProvider( + boltConnectionProvider, + ErrorMapper.getInstance(), + BoltValueFactory.getInstance(), + uri.getScheme().startsWith("neo4j"), + address, + routingContext, + boltAgent, + userAgent, + connectTimeoutMillis); + } + + protected BoltConnectionProvider createBoltConnectionProvider( + URI uri, + Config config, + EventLoopGroup eventLoopGroup, + RoutingSettings routingSettings, + Supplier rediscoverySupplier, + BoltConnectionListener boltConnectionListener, + BoltServerAddress address, + RoutingContext routingContext, + BoltAgent boltAgent, + String userAgent, + int connectTimeoutMillis, + MetricsListener metricsListener, + Clock clock) { + BoltConnectionProvider boltConnectionProvider; var loggingProvider = new BoltLoggingProvider(config.logging()); Function pooledBoltConnectionProviderSupplier = selectedAddress -> createPooledBoltConnectionProvider( @@ -252,42 +292,23 @@ private DriverBoltConnectionProvider createBoltConnectionProvider( userAgent, connectTimeoutMillis, metricsListener); - var errorMapper = ErrorMapper.getInstance(); - if (uri.getScheme().startsWith("bolt")) { - assertNoRoutingContext(uri, routingSettings); - boltConnectionProvider = new AdaptingDriverBoltConnectionProvider( - pooledBoltConnectionProviderSupplier.apply(address), - errorMapper, - BoltValueFactory.getInstance(), - false, + if (uri.getScheme().startsWith("neo4j")) { + boltConnectionProvider = createRoutedBoltConnectionProvider( + config, + pooledBoltConnectionProviderSupplier, + routingSettings, + rediscoverySupplier, + clock, + loggingProvider, address, routingContext, boltAgent, userAgent, - connectTimeoutMillis); + connectTimeoutMillis, + metricsListener); } else { - boltConnectionProvider = new AdaptingDriverBoltConnectionProvider( - createRoutedBoltConnectionProvider( - config, - pooledBoltConnectionProviderSupplier, - routingSettings, - rediscoverySupplier, - clock, - loggingProvider, - address, - routingContext, - boltAgent, - userAgent, - connectTimeoutMillis, - metricsListener), - errorMapper, - BoltValueFactory.getInstance(), - true, - address, - routingContext, - boltAgent, - userAgent, - connectTimeoutMillis); + assertNoRoutingContext(uri, routingSettings); + boltConnectionProvider = pooledBoltConnectionProviderSupplier.apply(address); } return boltConnectionProvider; } diff --git a/examples/pom.xml b/examples/pom.xml index 0cd96fe4ca..a08a4e92cd 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT org.neo4j.doc.driver diff --git a/pom.xml b/pom.xml index b0f0ad14f1..2f3d6015d6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT pom Neo4j Java Driver Project diff --git a/testkit-backend/pom.xml b/testkit-backend/pom.xml index 23eac517c3..052d47ea98 100644 --- a/testkit-backend/pom.xml +++ b/testkit-backend/pom.xml @@ -7,7 +7,7 @@ neo4j-java-driver-parent org.neo4j.driver - 5.27-SNAPSHOT + 5.28-SNAPSHOT testkit-backend diff --git a/testkit-tests/pom.xml b/testkit-tests/pom.xml index 8ff8cf3904..417926e8e1 100644 --- a/testkit-tests/pom.xml +++ b/testkit-tests/pom.xml @@ -6,7 +6,7 @@ org.neo4j.driver neo4j-java-driver-parent - 5.27-SNAPSHOT + 5.28-SNAPSHOT ..