Skip to content

Commit cc8a3a4

Browse files
committed
Set shutdown executor properly with auto-recovery
References #194
1 parent 67d794b commit cc8a3a4

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/main/java/com/rabbitmq/client/impl/AMQConnection.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -397,11 +397,15 @@ public void start()
397397

398398
protected ChannelManager instantiateChannelManager(int channelMax, ThreadFactory threadFactory) {
399399
ChannelManager result = new ChannelManager(this._workService, channelMax, threadFactory, this.metricsCollector);
400-
result.setShutdownExecutor(this.shutdownExecutor);
401-
result.setChannelShutdownTimeout((int) ((requestedHeartbeat * CHANNEL_SHUTDOWN_TIMEOUT_MULTIPLIER) * 1000));
400+
configureChannelManager(result);
402401
return result;
403402
}
404403

404+
protected void configureChannelManager(ChannelManager channelManager) {
405+
channelManager.setShutdownExecutor(this.shutdownExecutor);
406+
channelManager.setChannelShutdownTimeout((int) ((requestedHeartbeat * CHANNEL_SHUTDOWN_TIMEOUT_MULTIPLIER) * 1000));
407+
}
408+
405409
/**
406410
* Package private API, allows for easier testing.
407411
*/

src/main/java/com/rabbitmq/client/impl/recovery/RecoveryAwareAMQConnection.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ public RecoveryAwareAMQConnection(ConnectionParams params, FrameHandler handler)
3838

3939
@Override
4040
protected RecoveryAwareChannelManager instantiateChannelManager(int channelMax, ThreadFactory threadFactory) {
41-
return new RecoveryAwareChannelManager(super._workService, channelMax, threadFactory, this.metricsCollector);
41+
RecoveryAwareChannelManager recoveryAwareChannelManager = new RecoveryAwareChannelManager(super._workService, channelMax, threadFactory,
42+
this.metricsCollector);
43+
configureChannelManager(recoveryAwareChannelManager);
44+
return recoveryAwareChannelManager;
4245
}
4346
}

0 commit comments

Comments
 (0)