遵循常规模式丢弃的 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。
我正在使用 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。