queue - NiFi - 处理后的 JMS 确认

标签 queue jms apache-nifi

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

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

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

最佳答案

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

有一种名为 NiFi stateless 的工作,它更适合您所描述的情况,它可以运行一系列线性处理器并执行任何提交/确认,直到最后。这项工作相当新,正在开发中。

关于queue - NiFi - 处理后的 JMS 确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63357455/

相关文章:

laravel - IronMq + Laravel4 : How make it working

docker - 用于Docker Swarm中所有服务的基本镜像中的Avro ?? NiFi-> Kafka-> PostgreSQL

java - Solace 不确认之前的消息是否违反了 JMS 规范?

java - 如何在 JUnit 中等待 @JMSListener 注解的方法完成

java - 在内存中,activemq 不会跨连接持久存在

python - 调用元类基函数()时出错参数 1 必须是 code 而不是 str

java - 读取处理器中的自定义属性

c# - 如何将多个异步方法设置到队列中?

java - 具有一个指针的 FIFO 队列

java - javolution中的队列实现