I am trying to shutdown my RabbitMQ consumer (using spring cloud stream, @StreamListener) gracefully by increasing the shutdownTimeout to only timeout after 60 seconds. However, it keeps using the default value, which is 5 seconds. May I know if I have missed anything?
@Bean
ListenerContainerCustomizer<AbstractMessageListenerContainer> configure() {
return ((container, destinationName, group) -> container.setShutdownTimeout(60000L));
}
...
@Configuration
@EnableBinding(LongScenarioSink.class)
public class LongScenarioListener {
@StreamListener(LongScenarioSink.INPUT)
public void processLongScenarioSink(String text) throws InterruptedException {
log.info("started: " + text);
Thread.sleep(50000);
log.info("done");
}