7.7. JMS 스타일 선택기


SQS는 선택기를 허용하지 않지만 Camel Filter EIP를 사용하고 적절한 visibilityTimeout 을 설정하여 이를 효과적으로 달성할 수 있습니다. SQS가 메시지를 디스패치하면 DeleteMessage 가 수신되지 않는 한 다른 소비자에게 메시지를 디스패치하려고 시도하기 전에 가시성 타임아웃까지 기다립니다. 기본적으로 Camel은 경로가 실패로 종료되지 않는 한 항상 DeleteMessage 를 경로 끝에 보냅니다. 적절한 필터링을 수행하고 경로가 성공적으로 완료되는 경우에도 DeleteMessage 를 보내지 않으려면 Filter를 사용합니다.

from("aws2-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false&deleteAfterRead=false")
.filter("${header.login} == true")
  .setProperty(Sqs2Constants.SQS_DELETE_FILTERED, constant(true))
  .to("mock:filter");
Copy to Clipboard Toggle word wrap

위의 코드에서 교환에 적절한 헤더가 없는 경우 필터를 통해 이를 수행하지 않으며 SQS 큐에서도 삭제되지 않습니다. 5000밀리초 후에 다른 사용자에게 메시지가 표시됩니다.

필터링되는 경우 Camel에 삭제 메시지 를 보내도록 Camel에 지시하는 Sqs2Constants.SQS_DELETE_FILTERED 속성을 true 로 설정해야 합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat