Java 在处理来自JMS的下一条消息之前,Service Activator未完成

Java 在处理来自JMS的下一条消息之前,Service Activator未完成,java,spring,jms,spring-integration,spring-jms,Java,Spring,Jms,Spring Integration,Spring Jms,设置: 我使用Spring集成从消息队列中获取消息。消息是XML格式的,我的服务激活器调用名为parseCustPaymentXML的方法,处理XML消息,并将其存储在Java对象中。之后,从parseCustPaymentXML调用另一个名为processCustPayment的方法,该方法获取Java对象并将其插入数据库。下面是如何设置入站JMS和服务激活器 <int:channel id="jmsInChannel" /> <int-jms:message-driven

设置:
我使用Spring集成从消息队列中获取消息。消息是XML格式的,我的服务激活器调用名为parseCustPaymentXML的方法,处理XML消息,并将其存储在Java对象中。之后,从parseCustPaymentXML调用另一个名为processCustPayment的方法,该方法获取Java对象并将其插入数据库。下面是如何设置入站JMS和服务激活器

<int:channel id="jmsInChannel" />

<int-jms:message-driven-channel-adapter
        destination="custPaymentRequestDestination"
        connection-factory="jmsConnectionFactory"
        channel="jmsInChannel"
        concurrent-consumers="1" />

<int:service-activator id="parseCustPaymentServiceActivator"
                       ref="custPaymentService"
                       input-channel="jmsInChannel"
                       method="parseCustPaymentXML"
                       requires-reply="true" />

问题:
该过程不会花费很长时间运行,但如果在parseCustPaymentXML或processCustPayment仍在运行时收到消息,则会拉取该消息,并与第一个消息过程同时启动parseCustPaymentXML。这不是我喜欢的行为。我希望第一条消息在下一条消息开始之前完全完成(非并发)

如果需要更多帮助信息,请告诉我。

对于并发消费者=“1”,一次只处理一条消息;确保没有两次声明入站适配器?这是一个常见的错误,尤其是在web应用程序中

打开调试日志记录,所有内容都应变得清晰