@@ -98,9 +98,10 @@ public void channelReleased( Channel channel )
98
98
{
99
99
decrementInUse ( channel );
100
100
incrementIdle ( channel );
101
+ channel .closeFuture ().addListener ( closeListener );
101
102
} );
102
103
103
- channel . closeFuture (). addListener ( closeListener );
104
+
104
105
log .debug ( "Channel [0x%s] released back to the pool" , channel .id () );
105
106
}
106
107
@@ -111,9 +112,9 @@ public void channelAcquired( Channel channel )
111
112
{
112
113
incrementInUse ( channel );
113
114
decrementIdle ( channel );
115
+ channel .closeFuture ().removeListener ( closeListener );
114
116
} );
115
117
116
- channel .closeFuture ().removeListener ( closeListener );
117
118
log .debug ( "Channel [0x%s] acquired from the pool. Local address: %s, remote address: %s" , channel .id (), channel .localAddress (),
118
119
channel .remoteAddress () );
119
120
}
@@ -188,7 +189,13 @@ private void incrementInUse( Channel channel )
188
189
189
190
private void decrementInUse ( Channel channel )
190
191
{
191
- decrement ( channel , addressToInUseChannelCount );
192
+ BoltServerAddress address = serverAddress ( channel );
193
+ if ( !addressToInUseChannelCount .containsKey ( address ) )
194
+ {
195
+ throw new IllegalStateException ( "No count exists for address '" + address + "' in the 'in use' count" );
196
+ }
197
+ Integer count = addressToInUseChannelCount .get ( address );
198
+ addressToInUseChannelCount .put ( address , count - 1 );
192
199
}
193
200
194
201
private void incrementIdle ( Channel channel )
@@ -198,7 +205,13 @@ private void incrementIdle( Channel channel )
198
205
199
206
private void decrementIdle ( Channel channel )
200
207
{
201
- decrement ( channel , addressToIdleChannelCount );
208
+ BoltServerAddress address = serverAddress ( channel );
209
+ if ( !addressToIdleChannelCount .containsKey ( address ) )
210
+ {
211
+ throw new IllegalStateException ( "No count exists for address '" + address + "' in the 'idle' count" );
212
+ }
213
+ Integer count = addressToIdleChannelCount .get ( address );
214
+ addressToIdleChannelCount .put ( address , count - 1 );
202
215
}
203
216
204
217
private void increment ( Channel channel , Map <BoltServerAddress ,Integer > countMap )
@@ -207,15 +220,4 @@ private void increment( Channel channel, Map<BoltServerAddress,Integer> countMap
207
220
Integer count = countMap .computeIfAbsent ( address , k -> 0 );
208
221
countMap .put ( address , count + 1 );
209
222
}
210
-
211
- private void decrement ( Channel channel , Map <BoltServerAddress ,Integer > countMap )
212
- {
213
- BoltServerAddress address = serverAddress ( channel );
214
- if ( !countMap .containsKey ( address ) )
215
- {
216
- throw new IllegalStateException ( "No count exist for address '" + address + "'" );
217
- }
218
- Integer count = countMap .get ( address );
219
- countMap .put ( address , count - 1 );
220
- }
221
223
}
0 commit comments