marklogic QueryBatcher.onUrisReady,当文档不存在时会发生什么

时间:2019-03-19 18:28:17

标签: marklogic-9

我在Windows上使用Marklogic 9.0-8。我正在尝试使用av​​a客户端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,但是我找不到任何可以让我为这种情况附加监听器的方法。

有人可以给我任何提示吗?

谢谢海伦

0 个答案:

没有答案
相关问题