2014-09-18 2 views
0

직접 바인딩을 강제하기 위해 "module. *. count = 0"배치 서술자가있는 스트림을 배포했습니다. rabbitmq-trace를 사용하면 토끼를 통과하는 메시지가 발생하지만 직접 바인딩 옵션이 비활성화 된 경우보다 메시지가 적습니다. 이것은 예상 된 행동입니까?직접 바인딩으로 배포 된 스트림은 여전히 ​​메시지를 rabbitMQ에 보냅니다.

필자는 문서를 읽음으로써이 특별한 경우에 외부 버스를 거치지 않을 것이라고 생각했습니다.

답변

0

그런 경우 토끼 트래픽이 없어야합니다.

생산자 (소스, 프로세서)가 바인딩되면 가능하면 토끼 바인딩이 직접 바인딩으로 변환됩니다.이 컨테이너에는 count=0과 같이 발생해야하는 적절한 일치하는 소비자 [sink, processor]가 있습니다. 소비자가 존재하지 않는 경우

당신이 볼 수 ... 생산자 모듈을 배포하는 동안, 성공적인 전환을이 로그가 발생합니다,

logger.info("Producer bound directly: " + binding); 

를 로그를 살펴 보자

logger.info("declaring queue for outbound: " + name); 
+0

당신은 그 로거에 관한 정보를 얻을 수 있지만, 아직 토끼에게가는 트래픽이 있습니다. 메시지가 방금 게시되었지만받지 못했습니다. 아마도 그것은 테이핑에 필요한 메시지와 관련이있을 것입니다. 이것에 대해 아는 것이 있습니까? 메모리에 배포하지 않을 때 게시 된 메시지 2 개와 토끼 추적 1 개를 받았습니다. – jbrunodomingues

+0

음 ... 첫 번째 탭 소비자가 배치 될 때까지 탭에 대해서도 토끼에게 아무 것도 보내지 않아야합니다. DEBUG 수준의 로그를 배치 로그 메시지와 토끼 메시지를 보여주는 어딘가에 게시 할 수 있습니까? –

+0

좋아, 이제 해결할 것 같아. 다른 이름을 가진 새로운 스트림을 만들려고 시도했지만 동일한 정의를 사용하면 토끼에게 보낼 메시지가 없음을 알았습니다. 나는 모두를 파괴하고 그것들을 다시 만들었고 여전히 첫 번째 것이 토끼에게 출판되었다. 캐시 문제 일 수 있다고 생각하여 XD의 데이터 폴더를 삭제하지 않았습니다. 그런 다음 사육사의 데이터 폴더를 삭제하려고했는데 효과가있었습니다. 이제 괜찮아. 도와 줘서 고마워. 그것은 나를 올바른 방향으로 밀었습니다. (추신 : 나는 그렇게하기에 충분한 평판이 없기 때문에 투표하지 않았습니다.) 죄송합니다. – jbrunodomingues

관련 문제