У меня есть очередь tibco, где мы получаем сообщения от производителей, и поток сообщений перебирает эти сообщения. У меня есть numberOfConsumers установлено в 20 в JMS: соединитель. Некоторое время, когда нагрузка высока, мои сообщения поступают не по порядку в потоке.
Я хочу, чтобы мой поток получал сообщения в последовательности, не делая его однопоточным.
Ниже приведен поток с регистратором в начале потока:
<flow name="some name" doc:name="ServiceId-8" initialState="started">
<jms:inbound-endpoint queue="${queue1}" connector-ref="jmsconnector" doc:name="JMS">
<logger message="Receiving Message: #[message.payload]" category="com.xyz" level="INFO" doc:name="Logger"/>
<jms:transaction action="ALWAYS_BEGIN"/>
</jms:inbound-endpoint>
<processor....
<component....
........
........
</flow>
Разъем:
<jms:connector name="jmsconnector" specification="1.1" username="${name}" password="${pass}" validateConnections="true" jndiInitialFactory="factoryClass" jndiProviderUrl="${url}" connectionFactoryJndiName="GenericConnectionFactory" cacheJmsSessions="true" eagerConsumer="true" forceJndiDestinations="true" numberOfConsumers="20" persistentDelivery="true" maxRedelivery="5" doc:name="JMS">
<spring:property name="jndiProviderProperties">
<spring:map>
<spring:entry key="java.naming.security.principal" value="${name}"/>
<spring:entry key="java.naming.security.credentials" value="${pass}"/>
</spring:map>
</spring:property>
<reconnect-forever/>
</jms:connector>