遵循常规模式丢弃的 MQ 消息

MQ messages discarded following a regular pattern

我正在使用 HemrèsJMS 测试我的 MQueue,每次我发送消息时,我 三分之二的 MQ 消息丢失

我有以下配置:

<bean id="mqConnectionFactory" class="com.integrator.init.MqConnectionFactory" init-method="init"
 scope="singleton">
    <property name="environnement" ref="env" />   
    <property name="destination" value=""/>     
</bean>

<bean id="cachedConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <property name="targetConnectionFactory" ref="mqConnectionFactory" />
    <property name="sessionCacheSize" value="3" />
</bean>

<bean id="listenerPitagorCPY" class="com.integrator.pitagor.cpy.messaging.listenerPitagorCPY">
    <property name="pitagorCPYDelegate" ref="pitagorCPYDelegate"/>
</bean>

<bean id="pitagorCPYListener"
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="autoStartup" value="false" />
    <property name="connectionFactory" ref="cachedConnectionFactory" />
    <property name="destination" ref="defaultDestination" />
    <property name="messageListener" ref="listenerPitagorCPY" />
    <property name="concurrentConsumers" value="4" />
</bean>

<bean id="defaultDestination" scope="singleton" class="com.ibm.mq.jms.MQQueue">
    <constructor-arg value="#{mqConnectionFactory.destination}" />
</bean>

以下侦听器每发送三个消息就触发一次:

public class listenerPitagorCPY implements MessageListener {
    @Override
    public void onMessage(Message message) {
       // some work
  }
}

编辑:

常规模式是:“Nok, Nok, OK, Nok, Nok, OK, Nok,不,OK" ...

当我添加 <property name="concurrentConsumers" value="3" /> 时,模式变为“Nok, Nok, OK, OK, OK, Nok, Nok, 好,好,好,好,好,好,好,好" ...

知道 "why" 这种接收模式存在吗?

谢谢

很明显,有另一个客户端在监听我的 MQueue。