重试 Marklogic 触发器

问题描述

我们如何配置触发器以重试特定计数的过程。我有一个触发器配置为在文档摄取和检索元数据并提供给外部 API 时启动。但我希望它在失败之前重试几次。

解决方法

不幸的是,您无法为单个触发器指定递归深度。每个插入/更新都是单独看到的。您只能允许或禁止递归。

虽然有很多选择。您可以给触发器更多时间,并在一次触发器调用中进行多次尝试。这也允许在两者之间做一些睡眠。

另一个选项是允许触发递归,并在某处跟踪计数器状态。可能在文档内部(例如在信封头中),也可能在文档元数据中。您甚至可以使用诸如尝试 1、尝试 2 之类的集合来实现。

就我个人而言,我认为在一个触发器调用中进行多次尝试是最简单的。

HTH!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...