Skip to content

Instantly share code, notes, and snippets.

@gbzarelli
Created September 25, 2023 15:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gbzarelli/23421e3a6db89e91485b24047764b079 to your computer and use it in GitHub Desktop.
Save gbzarelli/23421e3a6db89e91485b24047764b079 to your computer and use it in GitHub Desktop.
RabbitMQ - Graceful shutdown - Configure Shutdown timeout in rabbitmq
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitmqConnectionConfig {
@Value("${spring.rabbitmq.shutdown-timeout:60000}")
private Integer shutdownTimeout;
@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(final ConnectionFactory connectionFactory,
final SimpleRabbitListenerContainerFactoryConfigurer configurer) {
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
configurer.configure(factory, connectionFactory);
factory.setContainerCustomizer(c -> c.setShutdownTimeout(shutdownTimeout));
return factory;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment