ConsumeJMS 프로세서

ConsumeJMS 프로세서

이 문서는 Snowflake OpenFlow의 ConsumeJMS 프로세서에 대한 참조 문서예요. BytesMessage, TextMessage, ObjectMessage, MapMessage 또는 StreamMessage 유형의 JMS 메시지를 소비하고 그 내용을 FlowFile로 변환해요.

출처: Snowflake 문서

본문

기능 — 일반 제공 (Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요.

Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.

번들 (Bundle)

그룹 NAR
org.apache.nifi nifi-jms-processors-nar

설명 (Description)

BytesMessage, TextMessage, ObjectMessage, MapMessage 또는 StreamMessage 유형의 JMS 메시지를 소비하고, 그 내용을 FlowFile로 변환한 뒤 'success' 관계로 전달해요. 헤더와 속성 같은 JMS 속성은 FlowFile 속성으로 복사돼요. MapMessage는 JSON으로 변환된 후 바이트 배열로 변환돼요. 나머지 유형은 원시 내용이 바이트 배열로 flowfile에 전달돼요.

태그 (Tags)

consume, get, jms, message, receive

입력 요구사항 (Input Requirement)

FORBIDDEN

민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)

아니요 (false)

속성 (Properties)

속성 설명
Acknowledgement Mode JMS Acknowledgement Mode예요. Auto Acknowledge를 사용하면 NiFi 재시작 시 메시지가 손실될 수 있지만 Client Acknowledge보다 성능이 좋을 수 있어요.
Connection Client ID 설정된 경우 연결에 설정할 client id예요. 영구(durable) 비공유 소비자에게는 필수이며, 그 외에는 선택 사항이고 특히 공유 소비자에게는 설정하지 않는 것이 바람직해요. 자세한 내용은 JMS 사양을 참고해요.
Connection Factory Service Connection Factory를 얻는 데 사용하는 Controller Service예요. 또는 'JNDI *' 또는 'JMS *' 속성을 사용해 Connection Factory를 구성할 수도 있어요.
Destination Name JMS Destination의 이름이에요. 보통 관리자가 제공해요(예: 'topic://myTopic' 또는 'myTopic').
Destination Type JMS Destination의 유형이에요. 'QUEUE' 또는 'TOPIC' 중 하나일 수 있어요. 보통 관리자가 제공하고 기본값은 'QUEUE'예요.
Durable subscription Destination이 Topic인 경우, 있으면 소비자를 영구(durable)로 만들지 여부를 지정해요. @see https://jakarta.ee/specifications/platform/9/apidocs/jakarta/jms/session#createDurableConsumer-jakarta.jms. Topic-java.lang. String-
Error Queue Name 설정된 경우 처리되지 않은 메시지가 라우팅될 JMS Queue의 이름이에요. 보통 관리자가 제공해요(예: 'queue://myErrorQueue' 또는 'myErrorQueue'). 'Destination Type'이 'QUEUE'로 설정된 경우에만 적용돼요.
Maximum Batch Size 프로세서가 호출될 때마다 게시하거나 소비할 최대 메시지 수예요.
Message Selector 프로세서가 수신할 메시지를 필터링하는 JMS Message Selector예요.
Password 인증 및 권한 부여에 사용되는 비밀번호예요.
SSL Context Service TLS/SSL 연결에 클라이언트 인증서 정보를 제공하는 데 사용할 SSL Context Service예요.
Shared subscription Destination이 Topic인 경우, 있으면 소비자를 공유(shared)로 만들지 여부를 지정해요. @see https://jakarta.ee/specifications/platform/9/apidocs/jakarta/jms/session#createSharedConsumer-jakarta.jms. Topic-java.lang. String-
Subscription Name Destination이 Topic이고 공유 또는 영구인 경우 사용할 subscription의 이름이에요.
Timeout 원격 브로커에서 메시지를 소비하기 위해 포기하기 전까지 기다리는 시간이에요.
User Name 인증 및 권한 부여에 사용되는 사용자 이름이에요.
broker JMS Message 브로커의 네트워크 위치를 가리키는 URI예요. ActiveMQ 예: 'tcp://myhost:61616'. IBM MQ 예: 'myhost(1414)'와 'myhost01(1414),myhost02(1414)'.
cf JMS ConnectionFactory 구현 클래스의 정규화된 이름이에요(예: org.apache.activemq. ActiveMQConnectionFactory).
cflib 클래스패스에 추가할 추가 리소스(예: JAR, 구성 파일 등)가 있는 디렉터리 경로예요(쉼표로 구분된 값 목록으로 정의). 이러한 리소스는 보통 ConnectionFactory 구현을 위한 대상 JMS 클라이언트 라이브러리를 나타내요.
character-set TextMessage를 구성하거나 해석하는 데 사용할 문자 집합의 이름이에요.
connection.factory.name Connection Factory를 검색할 JNDI 객체의 이름이에요.
java.naming.factory.initial JNDI Initial Context Factory Class의 정규화된 클래스 이름이에요(java.naming.factory.initial).
java.naming.provider.url java.naming.provider.url의 값으로 사용할 JNDI Provider의 URL이에요. 허용되는 URL 스킴은 추가 세부 사항 문서를 참고해요.
java.naming.security.credentials JNDI로 인증할 때 사용할 자격 증명이에요(java.naming.security.credentials).
java.naming.security.principal JNDI로 인증할 때 사용할 Principal이에요(java.naming.security.principal).
naming.factory.libraries JNDI / JMS 클라이언트 라이브러리를 로드하기 위해 ClassPath에 추가할 jar 파일 및/또는 디렉터리를 지정해요. 파일, 디렉터리 및/또는 URL의 쉼표로 구분된 목록이어야 해요. 디렉터리가 주어지면 해당 디렉터리의 파일은 포함되지만 하위 디렉터리는 포함되지 않아요(재귀적이지 않음).
output-strategy JMS 메시지를 FlowFile record로 출력하는 데 사용하는 형식이에요.
record-reader 수신된 JMS 메시지를 Records로 파싱하는 데 사용할 Record Reader예요.
record-writer FlowFile에 쓰기 전에 Records를 직렬화하는 데 사용할 Record Writer예요.

제한 사항 (Restrictions)

필수 권한 설명
reference remote resources Client Library Location은 HTTP를 통해 리소스를 참조할 수 있어요.

관계 (Relationships)

이름 설명
parse.failure 구성된 Record Reader로 메시지를 파싱할 수 없으면 메시지 내용이 자체 FlowFile로 이 Relationship에 라우팅돼요.
success JMS Destination에서 수신된 모든 FlowFiles가 이 관계로 라우팅돼요.

기록하는 속성 (Writes attributes)

이름 설명
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일 수 있어요.
other attributes 각 메시지 속성이 속성(attribute)으로 기록돼요.

참고 (See also)

  • org.apache.nifi.jms.processors.PublishJMS

더 알아보기 (Learn more)