NiFi - 处理后的 JMS 确认

NiFi - JMS acknowledgement after processing

是否可以在处理后使用 NiFi 确认来自 JMS 的消息?

更具体地说,我想使用 ConsumeJMS 处理器从队列中读取消息,对其进行处理(使用多个 NiFi 处理器),使用 PublishKafka 处理器将其发送到 Kafka,然后才向 JMS 发送确认。换句话说,我不想在消息提交到 Kafka 之前从队列中删除消息。

我知道有多种确认模式,但其中 none 似乎可以满足我的需要。当我能够在处理消息后发送响应时,我的目标是实现与 HandleHttpRequest 和 HandleHttpResponse 处理器类似的效果。

在大多数情况下,如 JMS 和 Kafka,检索数据的 nifi 处理器会将其写入 NiFi 的内部存储库,提交到内部存储库,然后将确认发送到源系统。所以它在保证在NiFi中后在源处理器中发送ack。

有一项名为 NiFi 无状态的工作,它更适合您所描述的内容,它可以 运行 一系列线性处理器并执行任何 commit/ack 直到最后。这项工作是相当新的,正在开发中。