2016-07-07 5 views
0

replyQ에서 작성하여 하나의 직접 교환으로 비딩했습니다. replyto 속성을 "replyQ"로 설정하여 메시지를 생성했습니다. 그리고 다른 서비스에 대한 메시지를 토끼에게 보냅니다. 다른 끝에있는 서비스가 메시지를 받고 지정된 replyTo 큐에서 응답을 보냅니다.recieveAndConvert()에서 null 응답을 받음 spring -amqp

지금은

template.receiveAndConvert(replyQueue)); 

를 사용하지만 널 반응을 얻고 내가 replyQ에서 메시지를 볼 수있는 replyQ 큐에서 읽을하려합니다. 서비스가 회신을 보낼 수 있지만 주어진 대기열에서 메시지를 읽을 수 없습니다.

잘못된 정보를 입력하십시오.

답변

0

template.receiveAndConvert()는 기본 시간 제한은 시간이 한 시간 함수, 차단, 동기입니다 :

private static final long DEFAULT_REPLY_TIMEOUT = 5000; 

어쩌면이 일이 당신의 문제입니다.

연속 대기열 폴링을 위해 ListenerContainer으로 전환하는 것을 고려하십시오. 또 다른 옵션은 RabbitTemplate.sendAndReceive()입니다. 그래, 고정 응답 대기열을 사용하면 여전히 ListenerContainer을 처리하게됩니다. 자세한 정보는 Spring AMQP Reference Manual을 참조하십시오.