2014-07-25 2 views

답변

2

메시지 전달 프로세서를 사용하는 경우 메시지를 대기열에서 제거 할 수 없습니다. 메시지를 성공적으로 보낼 때까지 계속 시도 할 것입니다.

사용 사례에 대해 메시지 샘플링 프로세서를 사용할 수 있으며 샘플 메시지 프로세서는 메시지를 한 번만 보내고 큐에서 제거 할 수 있습니다. 잘못된 시도로 발견 한 경우 faultSequence에있는 오류 코드를 기반으로 메시지를 다시 큐에 삽입 할 수 있습니다.

1

당신은 아마 갖는 axis2.xml 당신의 JMS 리스너 설정에서 다음 거래에서 프로세서를 실행

<parameter name="transport.jms.SessionTransacted">true</parameter> 

은 읽을 된 큐에서 제거하여 실패한 메시지를 만들 것입니다이 매개 변수를 false로 변경 .

+1

"transport.jms.SessionTransacted"가 거짓 인 경우 대기열에서 메시지가 제거됩니다 백엔드의 실패에 관계없이 – Vanji

+1

예, 저는 똑같을 것을 기대합니다. 그러나 문제는 내가보기에 실패한 메시지 때문입니다. – user3714601