Skip to content

Commit b8d1933

Browse files
committed
Move couple methods from Connection to PooledConnection
Methods `#onError()` and `#hasUnrecoverableErrors()` are only useful in pooled connection and their implementations threw exceptions in regular connection. This commit moves them to `PooledConnection` interface.
1 parent cfa9327 commit b8d1933

17 files changed

+57
-67
lines changed

driver/src/main/java/org/neo4j/driver/internal/LeakLoggingNetworkSession.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
package org.neo4j.driver.internal;
2020

21-
import org.neo4j.driver.internal.spi.Connection;
21+
import org.neo4j.driver.internal.spi.PooledConnection;
2222
import org.neo4j.driver.v1.Logger;
2323

2424
import static java.lang.System.lineSeparator;
@@ -28,7 +28,7 @@ class LeakLoggingNetworkSession extends NetworkSession
2828
private final Logger log;
2929
private final String stackTrace;
3030

31-
LeakLoggingNetworkSession( Connection connection, Logger log )
31+
LeakLoggingNetworkSession( PooledConnection connection, Logger log )
3232
{
3333
super( connection );
3434
this.log = log;

driver/src/main/java/org/neo4j/driver/internal/LeakLoggingNetworkSessionFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
package org.neo4j.driver.internal;
2020

21-
import org.neo4j.driver.internal.spi.Connection;
21+
import org.neo4j.driver.internal.spi.PooledConnection;
2222
import org.neo4j.driver.v1.Logger;
2323
import org.neo4j.driver.v1.Logging;
2424
import org.neo4j.driver.v1.Session;
@@ -35,7 +35,7 @@ class LeakLoggingNetworkSessionFactory implements SessionFactory
3535
}
3636

3737
@Override
38-
public Session newInstance( Connection connection )
38+
public Session newInstance( PooledConnection connection )
3939
{
4040
return new LeakLoggingNetworkSession( connection, logger );
4141
}

driver/src/main/java/org/neo4j/driver/internal/NetworkSession.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import org.neo4j.driver.internal.logging.DevNullLogger;
2626
import org.neo4j.driver.internal.spi.Connection;
27+
import org.neo4j.driver.internal.spi.PooledConnection;
2728
import org.neo4j.driver.internal.types.InternalTypeSystem;
2829
import org.neo4j.driver.v1.Logger;
2930
import org.neo4j.driver.v1.Record;
@@ -41,7 +42,7 @@
4142

4243
public class NetworkSession implements Session
4344
{
44-
private final Connection connection;
45+
private final PooledConnection connection;
4546
private final String sessionId;
4647
private final Logger logger;
4748

@@ -67,7 +68,7 @@ public void run()
6768
private ExplicitTransaction currentTransaction;
6869
private AtomicBoolean isOpen = new AtomicBoolean( true );
6970

70-
public NetworkSession( Connection connection )
71+
public NetworkSession( PooledConnection connection )
7172
{
7273
this.connection = connection;
7374

driver/src/main/java/org/neo4j/driver/internal/NetworkSessionFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
*/
1919
package org.neo4j.driver.internal;
2020

21-
import org.neo4j.driver.internal.spi.Connection;
21+
import org.neo4j.driver.internal.spi.PooledConnection;
2222
import org.neo4j.driver.v1.Session;
2323

2424
class NetworkSessionFactory implements SessionFactory
2525
{
2626
@Override
27-
public Session newInstance( Connection connection )
27+
public Session newInstance( PooledConnection connection )
2828
{
2929
return new NetworkSession( connection );
3030
}

driver/src/main/java/org/neo4j/driver/internal/RoutingDriver.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import org.neo4j.driver.internal.cluster.RoutingSettings;
2323
import org.neo4j.driver.internal.net.BoltServerAddress;
2424
import org.neo4j.driver.internal.security.SecurityPlan;
25-
import org.neo4j.driver.internal.spi.Connection;
2625
import org.neo4j.driver.internal.spi.ConnectionPool;
26+
import org.neo4j.driver.internal.spi.PooledConnection;
2727
import org.neo4j.driver.internal.util.Clock;
2828
import org.neo4j.driver.v1.AccessMode;
2929
import org.neo4j.driver.v1.Logging;
@@ -62,11 +62,11 @@ public RoutingDriver(
6262
@Override
6363
protected Session newSessionWithMode( AccessMode mode )
6464
{
65-
Connection connection = acquireConnection( mode );
65+
PooledConnection connection = acquireConnection( mode );
6666
return sessionFactory.newInstance( connection );
6767
}
6868

69-
private Connection acquireConnection( AccessMode role )
69+
private PooledConnection acquireConnection( AccessMode role )
7070
{
7171
switch ( role )
7272
{

driver/src/main/java/org/neo4j/driver/internal/SessionFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
*/
1919
package org.neo4j.driver.internal;
2020

21-
import org.neo4j.driver.internal.spi.Connection;
21+
import org.neo4j.driver.internal.spi.PooledConnection;
2222
import org.neo4j.driver.v1.Session;
2323

2424
interface SessionFactory
2525
{
26-
Session newInstance( Connection connection );
26+
Session newInstance( PooledConnection connection );
2727
}

driver/src/main/java/org/neo4j/driver/internal/cluster/LoadBalancer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import org.neo4j.driver.internal.RoutingErrorHandler;
2424
import org.neo4j.driver.internal.net.BoltServerAddress;
25-
import org.neo4j.driver.internal.spi.Connection;
2625
import org.neo4j.driver.internal.spi.ConnectionPool;
2726
import org.neo4j.driver.internal.spi.PooledConnection;
2827
import org.neo4j.driver.internal.util.Clock;
@@ -75,13 +74,13 @@ private LoadBalancer(
7574
ensureRouting();
7675
}
7776

78-
public Connection acquireReadConnection() throws ServiceUnavailableException
77+
public PooledConnection acquireReadConnection() throws ServiceUnavailableException
7978
{
8079
PooledConnection connection = acquireConnection( routingTable.readers() );
8180
return new RoutingPooledConnection( connection, this, AccessMode.READ );
8281
}
8382

84-
public Connection acquireWriteConnection() throws ServiceUnavailableException
83+
public PooledConnection acquireWriteConnection() throws ServiceUnavailableException
8584
{
8685
PooledConnection connection = acquireConnection( routingTable.writers() );
8786
return new RoutingPooledConnection( connection, this, AccessMode.WRITE );

driver/src/main/java/org/neo4j/driver/internal/net/ConcurrencyGuardingConnection.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -185,18 +185,6 @@ public boolean isOpen()
185185
return delegate.isOpen();
186186
}
187187

188-
@Override
189-
public void onError( Runnable runnable )
190-
{
191-
delegate.onError( runnable );
192-
}
193-
194-
@Override
195-
public boolean hasUnrecoverableErrors()
196-
{
197-
return delegate.hasUnrecoverableErrors();
198-
}
199-
200188
@Override
201189
public void resetAsync()
202190
{

driver/src/main/java/org/neo4j/driver/internal/net/SocketConnection.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -268,18 +268,6 @@ public boolean isOpen()
268268
return socket.isOpen();
269269
}
270270

271-
@Override
272-
public void onError( Runnable runnable )
273-
{
274-
throw new UnsupportedOperationException( "Error subscribers are not supported on SocketConnection." );
275-
}
276-
277-
@Override
278-
public boolean hasUnrecoverableErrors()
279-
{
280-
throw new UnsupportedOperationException( "Unrecoverable error detection is not supported on SocketConnection." );
281-
}
282-
283271
@Override
284272
public synchronized void resetAsync()
285273
{

driver/src/main/java/org/neo4j/driver/internal/spi/Connection.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,6 @@ public interface Connection extends AutoCloseable
9898
*/
9999
boolean isOpen();
100100

101-
/**
102-
* If there are any errors that occur on this connection, invoke the given
103-
* runnable. This is used in the driver to clean up resources associated with
104-
* the connection, like an open transaction.
105-
*
106-
* @param runnable To be run on error.
107-
*/
108-
void onError( Runnable runnable );
109-
110-
111-
boolean hasUnrecoverableErrors();
112-
113101
/**
114102
* Asynchronously sending reset to the socket output channel.
115103
*/

0 commit comments

Comments
 (0)