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