Я мигрирую на более новый SDK для Azure Service Bus. Такое поведение либо путем установки maxtimeout в ServiceBusReceiverClient.java, либо путем установки amqpretryoptions. < /p>
Любые указатели на решение этого будут действительно Оценка.
Я не хочу ждать 1 минуту, потому что нам нужно обрабатывать миллионы сообщений каждый день.
Моя обработка закончилась через несколько миллисекунд. < /p>
Я просто просто Нужно прочитать 100 или более сообщений и написать их в тему Kafka, затем промыть Kafka .. < /p>
com.azure
azure-messaging-servicebus
7.15.1
< /code>
Вот мой код. < /p>
AmqpRetryOptions retryOptions = new AmqpRetryOptions();
retryOptions.setTryTimeout(Duration.ofSeconds(10));
retryOptions.setDelay(Duration.ofSeconds(10));
ServiceBusReceiverClient receiver = new ServiceBusClientBuilder()
.retryOptions(retryOptions)
.connectionString(connectionStr)
.receiver().maxAutoLockRenewDuration(Duration.ofMinutes(lockDuration))
.prefetchCount(properties.getNumMsgs())
.topicName(azure.getServicebusTopicName())
.subscriptionName(azure.getSubscriptionName())
.buildClient();
receiver.close();
kafkaProd.flushKafka();
Подробнее здесь: https://stackoverflow.com/questions/781 ... -using-jav