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 中。
输入要求¶
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)。 |
其他属性 |
每个消息属性都写入到相应属性。 |