Jms 如何为MQQueueConnectionFactory设置固定回退

Jms 如何为MQQueueConnectionFactory设置固定回退,jms,ibm-mq,Jms,Ibm Mq,我已经为DefaultJmsListenerContainerFactory实现了它,现在我正在为IBM MQ(MQQueueConnectionFactory寻找解决方案)实现,下面是DefaultJmsListenerContainerFactory的示例片段。 期望: FixedBackOff{interval=200, currentAttempts=1, maxAttempts=7}` DefaultJmsListenerContainerFactory--> FixedBackOf

我已经为
DefaultJmsListenerContainerFactory
实现了它,现在我正在为IBM MQ(
MQQueueConnectionFactory
寻找解决方案)实现,下面是
DefaultJmsListenerContainerFactory
的示例片段。 期望:

FixedBackOff{interval=200, currentAttempts=1, maxAttempts=7}`
DefaultJmsListenerContainerFactory-->

FixedBackOff{interval=5000, currentAttempts=1, maxAttempts=unlimited}
我要覆盖
间隔
最大尝试次数

FixedBackOff backOff=new FixedBackOff();
        backOff.setInterval(200);
        backOff.setMaxAttempts(7);
        factory.setBackOff(backOff);
        factory.setErrorHandler(
                  new ErrorHandler() {
                    @Override
                    public void handleError(Throwable t) {
                        logger.error("An error has occurred in the transaction of JMSconnectionFactory");
                    }
                  });

一般情况下,不要使用QueueConnectionFactory或TopicConnectionFactory,因为ConnectionFactory(JMS 1.1)将替代这两种

Spring xml配置示例:

<bean id="mqConnectionFactory" class="com.ibm.mq.jms.MQConnectionFactory"
    p:queueManager="${QM_NAME}"
    p:hostName="${QM_HOST_NAME}"
    p:port="${QM_HOST_PORT}"
    p:channel="${QM_CHANNEL}"
    p:clientID="${QM_CLIENT_ID}">
    <property name="transportType">
        <util:constant static-field="com.ibm.msg.client.wmq.WMQConstants.WMQ_CM_CLIENT" />
    </property>
</bean>

<bean id="messageListener" class="com.stackowerflow.example.MyMessageListenerStub" />

<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"
    p:corePoolSize="5"
    p:maxPoolSize="10"
    p:queueCapacity="25" />

<bean id="backOff" class="org.springframework.util.backoff.FixedBackOff"
    p:interval="5000"
    p:maxAttempts="10" />

<bean id="msgListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"
    p:connectionFactory-ref="mqConnectionFactory"
    p:destinationName="${QM_DESTINATION}"
    p:messageListener-ref="messageListener"
    p:taskExecutor-ref="taskExecutor"
    p:backOff-ref="backOff" />