我在Windows上使用Marklogic 9.0-8。我正在尝试使用ava客户端API,queryBatcher来查询数据库以获取uri列表。我已经知道的uri。所以我的代码就像
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列表包含marklogic数据库中不存在的uri时,没有异常抛出,也没有onFailure()事件。
我怎么知道uri在marklogic中不存在或由于某种原因被跳过了? 我需要知道文档中没有的uri,但是我找不到任何可以让我为这种情况附加监听器的方法。
有人可以给我任何提示吗?
谢谢海伦