Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring JMS入站网关容器的使用者线程数乘以配置值的3倍_Spring_Spring Integration_Spring Jms - Fatal编程技术网

Spring JMS入站网关容器的使用者线程数乘以配置值的3倍

Spring JMS入站网关容器的使用者线程数乘以配置值的3倍,spring,spring-integration,spring-jms,Spring,Spring Integration,Spring Jms,JMS消息在ativeMQ中可用,由工作人员选择,工作人员配置如上所述, 我们想要控制工作人员可以处理多少条消息,观察到消费者总是乘以配置的3倍。 从上面的配置可以看出,创建了75个使用者,运行了75个任务执行(workerPollerTaskExecutor) 基本上,创建了3组同名的并发使用者(senExtractWorkerInGateway.container-1的3个线程) 在workerPollerTaskExecutor中也观察到了相同的行为。 有人能帮助我们理解为什么总是3倍于3

JMS消息在ativeMQ中可用,由工作人员选择,工作人员配置如上所述, 我们想要控制工作人员可以处理多少条消息,观察到消费者总是乘以配置的3倍。 从上面的配置可以看出,创建了75个使用者,运行了75个任务执行(workerPollerTaskExecutor)

基本上,创建了3组同名的并发使用者(senExtractWorkerInGateway.container-1的3个线程) 在workerPollerTaskExecutor中也观察到了相同的行为。 有人能帮助我们理解为什么总是3倍于3倍


应用程序上下文加载了3次(由于我们端的代码问题),导致此行为。希望这对其他人有帮助。
谢谢。

这没有意义;请提供一个展示这种行为的最小、完整的示例。感谢您花时间在@GaryRussell上。这是来自我们多次加载应用程序上下文的问题。
    <int-jms:inbound-gateway
    id="senExtractWorkerInGateway" 
    connection-factory="jmsConnectionFactory"
    correlation-key="JMSCorrelationID"
    request-channel="senExtractProcessingWorkerRequestChannel"
    request-destination-name="senExtractRequestQueue" 
    reply-channel="senExtractProcessingWorkerReplyChannel"
    default-reply-queue-name="senExtractReplyQueue"
    auto-startup="false"
    concurrent-consumers="25"
    max-concurrent-consumers="25"
    max-messages-per-task="1"
    reply-timeout="1200000" 
    receive-timeout="1200000"/>
<bean id="workerPollerTaskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
    <property name="corePoolSize" value="25"/>          
    <property name="maxPoolSize" value="25"/>
    <property name="queueCapacity" value="200"/>
</bean>