2014-03-06 4 views
0

jms 템플릿의 단일 대기열에 대한 소비자 수를 구성하고 싶습니다. 나는이 구현하는 시도 : JmsTemplate - define concurrency per queue?을하지만 ActiveMQQueue에 stiil 1. 내 messanging 컨텍스트 보여줍니다 :단일 대기열에 동시성을 구성하는 방법

<bean id="parentContainer" abstract="true" 
    class="org.springframework.jms.listener.DefaultMessageListenerContainer"> 
     <property name="connectionFactory" ref="connectionFactory" /> 
    </bean> 

    <bean id="parentContainer" abstract="true" 
    class="org.springframework.jms.listener.DefaultMessageListenerContainer"> 
     <property name="connectionFactory" ref="connectionFactory" /> 
    </bean> 

    <bean id="playerStatsListener" parent="parentContainer"> 
     <property name="destination" ref="playerStatsQueue" /> 
     <property name="messageListener" ref="playerStatsService" /> 
     <property name="concurrency" value="100" /> 
    </bean> 

    <!-- Listeners --> 
    <bean id="playerStatsService" class="com.XXX.service.PlayerStatsService" /> 
    <!-- Destinations --> 
     <bean id="playerStatsQueue" class="org.apache.activemq.command.ActiveMQQueue"> 
     <constructor-arg value="playerStatsQueue" /> 

다른 관련 질문 : "청취자"을 "에게 MessageListener"속성 사이에 차이가 있습니까?

답변

0

일반적으로 DefaultMessageListenerContainer에서 concurrentConsumersmaxConcurrentConsumers을 설정할 수 있습니다. concurrency 설정은이 기능을 편리한 범위로 제공합니다.

그러나 문서

에 따른 "저급 - 상부"문자열, 예를 통해 동시 제한을 지정할 "5-10"또는 간단한 상한 문자열, 예 : "10"(이 경우 에서는 하한이 1이됩니다).

따라서 concurrency=100이라고 말하면 여전히 과 같으므로 1 명의 소비자가 표시되는 이유를 설명 할 수 있습니다.

+0

고맙습니다. 고맙습니다. 그래서 내 솔루션 몇 가지 jms : 청중 - 컨테이너를 다른 동시성을 가지고있다. 괜찮은 것 같니? – lior

+0

유스 케이스는 본 적이 없지만 게시 한 다른 답변에서 볼 수있는 것처럼 보입니다. :) –