2012-12-28 3 views
0

나는 하나의 생산자, 하나의 대기열 및 N 명의 고객을 보유하고 있습니다. 생산자는 소비자가 수행 할 '작업'을 만듭니다. 소비자가 대기열에서 일자리를 가져 오는 풀 모델을 사용하고 싶습니다. 이전 작업을 마칠 때가 지 라운드 로빈 (round robin) 모델을 사용하면됩니다.AMQP (Qpid) 1 대 다수 대기열

내 소비자는 동일한 코드를 사용하지만 실행했을 때 첫 번째 코드는 모든 코드를 연결하고 수신합니다. 비록 디버그에서 그것을 보았을 때, 첫번째는 모든것을 얻지 만 두번째 등등은 어떠한 메시지도 얻지 못한다.

연결 URL : "AMQP : // 손님 : 게스트 @의 prodconstest/brokerlist = 'TCP : //127.0.0.1 : 5767'"

코드 모든 소비자가 수행을 위해 :

  1. 이 (가) 작성
  2. 연결
  3. "ADDR:" + queueName + "; {create: always, link:{x-subscribes: {exclusive: false}}}"
  4. 가 만든 큐를 만들 시작 ACK AMQConnection
  5. 자동으로 큐 세션을 생성 소비자

AMQP 대기열을 사용하는 것이 이론적으로 가능합니까? 그렇다면 어떻게?

답변

0

연결 URL에 maxprefetch 매개 변수를 변경해야하는 것 같습니다. 디폴트 값 5000은 사용 사례에 비해 너무 크기 때문에이 값을 1로 변경하면이 시스템이 작동합니다.