178.6.6. Exchange에서 JMS를 Dead Letter Queue로 사용


일반적으로 JMS 를 전송으로 사용할 때 본문과 헤더만 페이로드로 전송합니다. Dead Letter Channel 과 함께 JMS 대기열을 Dead Letter Queue로 사용하여 JMS와 함께 JMS를 사용하려는 경우 일반적으로 caused Exception이 JMS 메시지에 저장되지 않습니다. 그러나 JMS dead letter 큐에서 transferExchange 옵션을 사용하여 Camel에 전체 Exchange를 대기열에 저장하는 javax.jms.ObjectMessageorg.apache.camel.impl.DefaultExchangeHolder 로 저장하도록 지시할 수 있습니다. 이를 통해 Dead Letter Queue에서 사용하고 Exchange 속성의 원인 Exchange.EXCEPTION_CAUGHT 키를 사용하여 발생한 예외를 검색할 수 있습니다. 아래 데모는 다음과 같습니다.

// setup error handler to use JMS as queue and store the entire Exchange
errorHandler(deadLetterChannel("jms:queue:dead?transferExchange=true"));
Copy to Clipboard Toggle word wrap

그런 다음 JMS 대기열에서 사용하고 문제를 분석할 수 있습니다.

from("jms:queue:dead").to("bean:myErrorAnalyzer");

// and in our bean
String body = exchange.getIn().getBody();
Exception cause = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class);
// the cause message is
String problem = cause.getMessage();
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat