0

jms テンプレートで単一のキューのコンシューマーの数を構成したいと考えています。私はこれを実装しようとしました: JmsTemplate - キューごとに同時実行を定義しますか? しかし、ActiveMQQueue には 1 が表示されます。私のメッセージング コンテキスト:

<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」プロパティに違いはありますか?

4

1 に答える 1

0

通常、DefaultMessageListenerContainerconcurrentConsumersにとを設定できます。設定は、これを便利な範囲として提供します。maxConcurrentConsumersconcurrency

しかし、ドキュメントによると

"5-10" などの "lower-upper" 文字列、または "10" などの単純な上限文字列 (この場合、下限は 1 になります) で同時実行制限を指定します。

したがって、単に と言った場合concurrency=100でも と同等で1-100あり、1 つのコンシューマーが表示されている理由を説明できます。

于 2014-03-06T12:29:40.583 に答える