MarkLogicJavaAPI异常抛出方法 在Java API中,尽管事务错误,但不会引发异常:

MarkLogicJavaAPI异常抛出方法 在Java API中,尽管事务错误,但不会引发异常:,java,exception,marklogic,Java,Exception,Marklogic,文档落基山脉不存在,但是API愉快地声明已删除: 在查询控制台中,eval检测并抛出错误: 作为两个缺点中较小的一个,DMSDK意味着没有删除文档,但仍然不会引发异常: 结果: 我尝试了检查和未检查的异常,但没有结果 哪个MarkLogic类和方法强制抛出异常并降低风险 通过Java API的查询事务: 失败: 成功: 运行xdmp:documentdelete和使用javaapi删除文档之间有一个重要区别。Java API是MarkLogic REST-API的包装器,它遵循RESTfu

文档
落基山脉
不存在,但是API愉快地声明
已删除

在查询控制台中,
eval
检测并抛出错误:

  • 作为两个缺点中较小的一个,DMSDK意味着没有删除文档,但仍然不会引发异常:
  • 结果:

    我尝试了检查和未检查的异常,但没有结果

    哪个MarkLogic类和方法强制抛出异常并降低风险

  • 通过Java API的查询事务:
  • 失败:

    成功:


    运行
    xdmp:documentdelete
    和使用javaapi删除文档之间有一个重要区别。Java API是MarkLogic REST-API的包装器,它遵循RESTful API的规则。RESTful API的一个重要规则是调用应该是幂等的。简而言之,这意味着您应该能够运行两次呼叫,并且两次都得到相同的回复。这就是为什么在文档存在或不存在时,对插入、更新和删除的调用不会抛出错误

    例如,另见:

    如果你想让你的应用更加严格,我建议你使用数据服务,或者自定义REST扩展


    很好,吉尔特……我很难说服自己,我不仅仅是看到了海市蜃楼。请参见上面的Java查询事务:
    异常
    Servlet
    捕获……至少可以说,它告诉我每天修复或修复
    稳健比严格更重要。严格来说,最终用户不应该使用qconsole、restapi或要求DBA执行txn。当一个人通过Angular UI引擎执行txn时,消费者对幕后工作一无所知。我突然意识到,随之而来的幂等性是一个需要质疑的断言。当然,您认为更新事务异常不能在任何Java异常处理中生存?下面的
    **SQLException**
    确实存在,可以说是我正在寻找的可比性:——
    描述
    :——
    :——
    方法
    :他们本可以做出不同的决定,但这是他们做出的选择,以坚持RESTful API的原则,这导致Java和节点客户端库以其工作方式工作。(耸耸肩)
    try {
    …………………………………
      logger.info("Delete Document " + uri);
        docMgr.delete("rocky-mountains");
        System.out.println("Deleted");
    } catch (Exception e) {
        logger.error("Exception : " + e.toString() );
      }
    
    Jul 05, 2020 9:35:04 PM com.fc.allegro.DeleteDocument deleteDocument
    INFO: Delete Document rocky-mountains
    Jul 05, 2020 9:35:04 PM com.marklogic.client.impl.DocumentManagerImpl delete
    INFO: Deleting rocky-mountains
    Deleted
    
    [1.0-ml] XDMP-DOCNOTFOUND: xdmp:document-delete("rocky-mountains") -- Document not found
    
      QueryBatcher batcher = dmManager.newQueryBatcher(new StructuredQueryBuilder().document("rocky-mountains"));
            batcher.onUrisReady(new DeleteListener())
                   .onQueryFailure( exception -> exception.printStackTrace() );
    
    Jul 05, 2020 9:52:07 PM com.marklogic.client.datamovement.impl.QueryBatcherImpl withForestConfig
    INFO: (withForestConfig) Using forests on [localhost] hosts for "allegro"
    Batch Deleted
    INFO: Job complete, jobBatchNumber=1, jobResultsSoFar=0