У меня есть RabbitListener, который выглядит так:
@RabbitListener
public class ProductListener {
@Queue(value = "product", executor = "product-listener")
public void receive(MyType message) {
// process message
}
}
В некоторых случаях я хочу закрыть свое приложение. Однако перед этим я хотел бы запретить RabbitListner потреблять новые сообщения и дать ему некоторое время для завершения обработки уже полученных сообщений.
Весной это должно быть возможно через RabbitListenerEndpointRegistry#getListenerContainer(String)
в соответствии с Как прекратить потребление сообщений с помощью @RabbitListener и Как изящно прекратить потребление сообщений с помощью @RabbitListener .
Я не нашел ничего подобного для Micronaut. Возможно ли это с Micronaut?
rabbitmq.shutdown-timeout
вSingleRabbitConnectionFactoryConfig
, и оно должно перестать потреблять по истечении времени, которое вы предоставляете. - person T.K   schedule 30.07.2021SingleRabbitConnectionFactoryConfig.setShutdownTimeout(X)
? По умолчанию это должно быть установлено на 10 секунд. - person stm   schedule 31.07.2021