Camel RaabitMQ Благодарность

Я использую Camel для моего приложения обмена сообщениями. В моем случае использования у меня есть производитель (здесь RabbitMQ), а Consumer - это бин.

from("rabbitmq://127.0.0.1:5672/exDemo?queue=testQueue&username=guest&password=guest&autoAck=false&durable=true&exchangeType=direct&autoDelete=false")
                .throttle(100).timePeriodMillis(10000)
                .process(new Processor() {                              
                        @Override
                        public void process(Exchange exchange) throws Exception {
                            MyCustomConsumer.consume(exchange.getIn().getBody())
                        }
                    });

Видимо, когда autoAck имеет значение false, подтверждение отправляется, когда выполнение process () завершено (пожалуйста, исправьте меня, если я здесь не прав)

Теперь я не хочу подтверждать, когда выполнение process () завершено, я хочу сделать это на более позднем этапе. у меня естьBlockingQueue в моем MyCustomConsumer, где потребление () помещает сообщения, а MyCustomConsumer имеет другой механизм для их обработки. Я хочу подтвердить сообщение только тогда, когда MyCustomConsumer заканчивает обработку сообщений отBlockingQueue, Как мне этого добиться?

Ответы на вопрос(2)

Ваш ответ на вопрос