now I configure my program like this:
<amq:redeliveryPolicyMap id="redeliveryPolicyMap">
<amq:defaultEntry>
<amq:redeliveryPolicy maximumRedeliveries="5"/>
</amq:defaultEntry>
<amq:redeliveryPolicyEntries>
<amq:redeliveryPolicy queue="orderCreate"
maximumRedeliveries="10"
initialRedeliveryDelay="1000"
backOffMultiplier="2"
useExponentialBackOff="true"
maximumRedeliveryDelay="10000"
useCollisionAvoidance="true"/>
</amq:redeliveryPolicyEntries>
</amq:redeliveryPolicyMap>
and the container like this :
<bean id="listenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="pooledConnectionFactory" />
<property name="destination" ref="orderCreate" />
<property name="messageListener" ref="messageListener" />
<property name="concurrency" value="1"/>
<property name="sessionTransacted" value="true"/>
</bean>
you can notice that the property nemed "concurrency" ,its value is 1 ;
with such configuration,when i send some message ,if one failed ,
the failed one will occupy the thread until the message was redeilveried 10
times,
and then other message can be processed .
now i want to know ,what can i do to let the other message to be processed
first?
and then process the error one.
--
View this message in context:
http://activemq.2283324.n4.nabble.com/how-to-use-the-redeliveryPolicy-correctly-tp4703693.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.