Я использую camel-rabbitmq. Вот мое определение маршрута
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("rabbitmq:TEST?queue=TEST&concurrentConsumers=5")
.routeId("jms")
.autoStartup(false)
.throttle(10)
.asyncDelayed()
.log("Consuming message ${body} to ${header.deliveryAddress}")
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println(atomicLong.decrementAndGet());
}
})
;
}
});
Когда я отправляю sh 500 сообщений в эту очередь, когда останавливаются и запускаются маршруты, все сообщения на канале будут потеряны, интересно, куда они направляются.
Если я настраиваю тот же маршрут с &autoAck=false
, он работает правильно, но теряет производительность. Почему верблюд не предлагает одинаковое поведение с и без autoAck.