2012-04-04 2 views
7

SSL 전송을 사용하는 activeMQ 중개인이 있습니다. 브로커를 사용하는 약 10 명의 소비자가 있습니다. 나는 내 노선을 구성하기 위해 낙타를 사용하고 있습니다.ActiveMQ 소비자 정지

대기열에 대기중인 메시지가 있어도 모든 메일이 자주 끊어지며 소비자를 다시 시작하더라도 새 메일을 소비하지 않습니다.

나는이 문제가 어디에서 발생했는지 파악하기 시작했다. 드디어 소비자에게 문제를 다시 일으킬 수있게되었습니다. 일정 기간이 지나면 응답이 멈추지 만 활성 MQ 관리 콘솔로 이동하여 대기열에서 메시지를 보려고하면 다시 실행을 시작합니다. 제티 (Jetty)가 웹 페이지의 대기열을 새로 고치기 위해 연결을 일으켜서 일부 스레드 문제를 차단하고 있다고 생각합니다. 어떻게 디버깅해야합니까?

감사

+0

소리가 ActiveMq 문제와 유사합니다. 그러한 상황에 처해 있고 새로운 고객을 시작하면 메시지를 받게됩니까? – Julias

+0

아니요, 반드시 그런 것은 아닙니다. 나는 소비량을 끄기 위해 다시 시도했다가 다시 켜고 메시지를 얻기 위해 대기열로 돌아 가지 않을 것이다. – Derek

답변

7

를 참조 특정 소비자에 '갇혀'메시지를 줄이기 위해 1 큐 프리 페치를 설정하려고, 방금 인터넷에서 설명을 찾았습니다. http://activemq.2283324.n4.nabble.com/Consumer-is-not-able-to-pick-messages-from-queue-td2531722.html

선택기가있을 때 채울 수있는 페이지 크기가 분명히 있습니다. 메시지가 동일한 대기열에 있습니다. 이것은 우리에게 일어났습니다. 저는 소비자를 시작하지 않았기 때문에, 다른 소비자를위한 선택자들과 함께 전체 페이지의 메시지로 끝났습니다. 이것은 실행중인 소비자가 추가 작업을 보내지 않게하는 원인이되었습니다.

0

너에게 너무 늦었지만 같은 문제가 있었는데 문제는 내가 대기열에서 물건을 가져 오는 데 사용한 동일한 연결을 사용하여 대기열에 항목을 추가하려고했다는 것이 었습니다.

두 개의 완전히 다른 컨텍스트 (하나는 생산 용이고 다른 하나는 소모 용)를 분리하면 문제가 해결됩니다.