我使用Spring集成消息驱动通道适配器来消费来自Tibco队列的消息,并定义了我们自己的错误通道来处理任何错误 .

我在这个设置中遇到的问题是,如果发生任何运行时异常,则不会自动确认队列消耗的消息,并且消息正在重新发送并进入循环 . 当我将确认模式设置为 "auto" (acknowledge="auto") 时,如果存在任何运行时异常,则消息进程正在正常停止 . 但是根据我的理解,如果我们没有定义 acknowledge mode ,那么spring会将其默认为“ auto" . 有人可以帮我理解设置的问题是什么?

<!--Consumer set up -->
<int-jms:message-driven-channel-adapter id="inputChannel" destination="inputQueue" 
                                            connection-factory="authConnFactory"
                                            error-channel="customErrorChannel"/>

<!-- Error channel -->                                          
<int:chain input-channel="customErrorChannel" >
        <!-- Inserting into table-->
        <int:recipient-list-router>
            <int:recipient channel="publishToexceptionQueue"/>
        </int:recipient-list-router>
    </int:chain>