Я использую Marklogic 9.0-8 на Windows. Я пытаюсь использовать клиентский API ava, queryBatcher для запроса базы данных для списка Uris. Урис я уже знаю. поэтому мой код похож на
QueryBatcher batcher = dmm.newQueryBatcher(uriList.iterator());
batcher.withBatchSize(ASYNC_BATCH_SIZE)
.withThreadCount(ASYNC_BATCH_THREAD_COUNT)
.withConsistentSnapshot()
.onUrisReady(
new ExportListener()
.withTransform(txForm)
.onFailure((batch, throwable) -> {
logger.error("failure--ExportListener.onFailure exception: " + batch.getTimestamp().getTime() + " Batch # " + batcher.getJobId(), throwable );
}
)
.onDocumentReady(
doc-> {
logger.info("success -- writing doc {}", doc.getUri());
}))
.onQueryFailure(exception -> logger.error("failure QueryBatcher.onQueryFailure Exception happened", exception));
когда мой список uri содержит uri, которого нет в базе данных marklogic, не генерируется исключение и не происходит событие onFailure ().
Как я узнаю, что URI не существует в marklogic или пропущен по какой-либо причине?
Мне нужно знать Uris, которого нет в документе, но я не могу найти какой-либо метод, который позволил бы мне подключить слушатель для этой ситуации.
Кто-нибудь может дать мне любые подсказки?
Спасибо, Хелен