ConsumeJMS 2025.5.31.15

捆绑包

org.apache.nifi | nifi-jms-processors-nar

描述

使用 BytesMessage、TextMessage、ObjectMessage、MapMessage 或 StreamMessage 类型的 JMS 消息,将其内容转换为 FlowFile 并将其转换为“success”关系。JMS 属性(如标头和属性)将复制为 FlowFile 属性。MapMessages 将转换为 JSONs,然后转换为字节数组。其他类型的原始内容将以字节数组的形式传输到 FlowFile 中。

标签

consume、get、jms、message、receive

输入要求

FORBIDDEN

支持敏感的动态属性

false

属性

属性

描述

确认模式

JMS 确认模式。使用自动确认可能会导致消息在重新启动 NiFi 时丢失,但可能比“客户端确认”提供更好的性能。

连接客户端 ID

要在连接上设置的客户端 ID(如果已设置)。对于持久化非共享使用者,此属性为必选项;对于其他所有类型使用者,则为可选项,通常不建议为共享使用者配置此属性。请参阅 JMS 规格,以获取更多详细信息

连接工厂服务

用于获取连接工厂的控制器服务。此外,“JNDI *”或“JMS *”属性也可用于配置连接工厂。

目标名称

JMS 目标的名称。通常由管理员提供(例如,“topic://myTopic”或“myTopic”)。

目标类型

JMS 目标的类型。可能是“QUEUE”或“TOPIC”之一。通常由管理员提供。默认值为“QUEUE”。

持久型订阅

如果目标是 Topic(如果存在),将其设置为使用者持久型。@参阅 https://jakarta.ee/specifications/platform/9/apidocs/jakarta/jms/session#createDurableConsumer-jakarta.jms.Topic-java.lang.String (https://jakarta.ee/specifications/platform/9/apidocs/jakarta/jms/session#createDurableConsumer-jakarta.jms.Topic-java.lang.String)-

错误队列名称

JMS 队列的名称,如果已设置,将路由未处理的消息。通常由管理员提供(例如“queue://myErrorQueue”或“myErrorQueue”)。仅在“目标类型”设置为“QUEUE”时才适用

最大批处理大小

每次调用处理器时要发布或使用的最大消息数。

消息选择器

用于筛选处理器将接收的消息的 JMS 消息选择器

密码

用于身份验证与授权的密码。

SSL Context Service

用于为 TLS/SSL 连接提供客户端证书信息的 SSL Context Service。

共享型订阅

如果目标是 Topic(如果存在),将其设置为使用者共享型。@参阅 https://jakarta.ee/specifications/platform/9/apidocs/jakarta/jms/session#createSharedConsumer-jakarta.jms.Topic-java.lang.String (https://jakarta.ee/specifications/platform/9/apidocs/jakarta/jms/session#createSharedConsumer-jakarta.jms.Topic-java.lang.String)-

订阅名称

如果目标是 Topic 并且是共享型或持久型,则要使用的订阅的名称。

超时

放弃之前要等多久才能使用来自远程代理的消息。

用户名

用于身份验证和授权的用户名。

代理

指向 JMS 消息代理的网络位置的 URI。针对 ActiveMQ 的示例:“tcp://myhost:61616”。针对 IBM MQ 的示例:“myhost(1414)”和“myhost01(1414),myhost02(1414)”。

cf

JMS ConnectionFactory 实现类的完全限定名称(例如 org.apache.activemq.ActiveMQConnectionFactory)。

cflib

包含其他资源的目录路径(例如 JARs、配置文件等)要添加到类路径(定义为以逗号分隔的值列表)。此类资源通常表示 ConnectionFactory 实现的目标 JMS 客户端库。

character-set

用于构造或解释 TextMessages 的字符集的名称

connection.factory.name

要为连接工厂查找的 JNDI 对象的名称。

java.naming.factory.initial

JNDI Initial Context Factory Class 的完全限定类名称 (java.naming.factory.initial)。

java.naming.provider.url

JNDI 提供程序的 URL,用作 java.naming.provider.url 的值。有关允许的 URL 架构,请参阅其他详细信息文档。

java.naming.security.credentials

通过 JNDI 进行身份验证时要使用的凭据 (java.naming.security.credentials)。

java.naming.security.principal

通过 JNDI 进行身份验证时要使用的主体 (java.naming.security.principal)。

naming.factory.libraries

指定要添加到 ClassPath 的 jar 文件和/或目录,以加载 JNDI/JMS 客户端库。这应该是文件、目录和/或 URLs 的列表(以逗号分隔)。如果指定了一个目录,则将包含该目录中的任何文件,但不会包含子目录(即,它不是递归的)。

output-strategy

用于将 JMS 消息输出到 FlowFile 记录的格式。

record-reader

用于将收到的 JMS 消息解析为记录的记录读取器。

record-writer

将记录写入到 FlowFile 之前对其进行序列化时要使用的记录写入器。

限制

所需权限

解释

引用远程资源

客户端库位置可以通过 HTTP 引用资源

关系

名称

描述

parse.failure

如果无法使用配置的记录读取器解析消息,则消息的内容将作为其自身的 FlowFile 单独路由到此关系。

success

从 JMS 目标收到的所有 FlowFiles 都将路由到此关系

写入属性

名称

描述

jms_deliveryMode

消息标头中的 JMSDeliveryMode。

jms_expiration

消息标头中的 JMSExpiration。

jms_priority

消息标头中的 JMSPriority。

jms_redelivered

消息标头中的 JMSRedelivered。

jms_timestamp

消息标头中的 JMSTimestamp。

jms_correlationId

消息标头中的 JMSCorrelationID。

jms_messageId

消息标头中的 JMSMessageID。

jms_type

消息标头中的 JMSType。

jms_replyTo

消息标头中的 JMSReplyTo。

jms_destination

消息标头中的 JMSDestination。

jms.messagetype

JMS 消息类型,可以是 TextMessage、BytesMessage、ObjectMessage、MapMessage 或 StreamMessage)。

其他属性

每个消息属性都写入到相应属性。

另请参阅

语言: 中文