2017-09-26 23 views
1

JMS 대기열에 메시지를 넣는 응용 프로그램이 있습니다. 메시지 크기는 최대 150MB까지 가능합니다. JMS 메시지에는 xml과 같은 추가 메타 데이터가있는 바이트 배열 데이터가 들어 있습니다. 메시지가 대기열에 배치되면 낙타 경로 응용 프로그램은 메시지를 선택하고 message와 함께 외부 Java API를 호출합니다 .i는 낙타 jms를 사용하여 JMS 대기열에서 메시지를 스트리밍하고자합니다 구성 요소. 낙타를 사용하여 흡수 할 수 있는지 알려주실 수 있습니까? 현재 힙 오류 문제가 있습니다.낙타를 사용하는 스트리밍 JMS

샘플 JMS 메시지는 다음과 같습니다.

<request> 
    <esb-metadata> 
     <source-transaction-id>1234567890</source-transaction-id> 
     <environment>Dev</environment> 
     <message-type>REQ</message-type> 
     <source-id>12345678</source-id> 
     <master-id>mst-id1234</master-id> 
    </esb-metadata> 
    <message-body> 
     <parameters> 
      <info> 
       <document-class>Document</document-class> 

       <document-guid>idd_C0A5DF59-0000-C51C-BCDA-E76E9476D5C2</document-guid> 
      </info> 
     </parameters> 
     <document> 
      <document-mime-type>std/text</document-mime-type> 
      <document-content>SGVhZGluZzEgQ2hhbmdlZCB0b2RheSBKYW4gMTEgc2FtcGxlIHRleHQgYmVsb3csDQpPbmNlIEkg 
cmVjZWl2ZSB0aGlzIGluZm9ybWF0aW9uLCBJIHdpbGwgdGhlbiBjb250YWN0IHlvdSBpbW1lZGlh 
dGVseSB0byBkaXNjdXNzIHRoZSByZXNvbHV0aW9uIG9mIHlvdXIgY2xhaW0uDQoNCg0KSGVhZGlu 
ZzIgc2FtcGxlIHRleHQsDQpJZiBwb3NzaWJsZSwgSSBuZWVkIHRvIHJlY2VpdmUgdGhpcyBpbmZv 
cm1hdGlvbiBmcm9tIHlvdSB3aXRoaW4gMzAgRGF5cy4NCg0KMQkxCTENCjIJMgkyDQozCTMJMw0K 
NAk0CTQNCg0KSGVhZGluZzMgc2FtcGxlIHRleHQsDQpJIHdpbGwgYXNzdW1lIHlvdSBkbyBub3Qg 
d2lzaCB0byBwdXJzdWUgdGhpcyBjbGFpbSBhbmQgSSB3aWxsIGNsb3NlIG15IGZpbGUuDQpBRERF 
RCBUSElTIE5FVyBMSU5FIFRPIFNFRSBJRiBJVCBJUyBWSVNJQkxFDQoNCnRhYmxlIHN0YXJ0cyBo 
ZXJlDQpwb2xpY3kgbnVtYmVyCWNsYWltIG51bWJlcglpbnN1cmVkDQpwMTIzCWMxMjMJYm9zY2gN 
CnAzMjEJYzMyMQlibXcNCnRhYmxlIGVuZHMgaGVyZQ0KDQomIzk2Nzk7CUJ1bGxldCBwb2ludCAx 
DQomIzk2Nzk7CUJ1bGxldCBwb2ludCAyDQomIzk2Nzk7CUJ1bGxldCBwb2ludCAzDQoNCjEuCU51 
bWJlcmVkIHBvaW50IDENCjIuCU51bWJlcmVkIHBvaW50IDINCjMuCU51bWJlcmVkIHBvaW50IDMN 
Cg==  </document-content> 
     </document> 
    </message-body> 
</request> 

답변

0

HornetQ는 클라이언트가 메모리 한도에 대해 걱정할 필요가 없도록 큰 메시지를 스트리밍하는 기능을 지원합니다. 이 지원은 HornetQ JMS 구현에서 작동하지만 JMS API는 대용량 스트리밍 스트리밍을 직접 지원하지 않으므로 표준 JMS 구성 요소 (예 : Camel이 제공하는 구성 요소)는이 사용 사례에서 작동하지 않을 가능성이 높습니다. 특별히 HornetQ 구현을 지원하기 위해 작성된 구성 요소를 사용해야합니다. the documentation에서 HornetQ JMS 클라이언트가 대형 메시지를 스트리밍 할 수있는 방법을 읽을 수 있습니다.