【发布时间】:2016-05-21 07:55:57
【问题描述】:
在我当前的架构中,从 ActiveMQ 队列轮询消息的 Spring AbstractPollingMessageListenerContainer 线程将消息从队列分派到远程服务器。
现在我的问题是它如何识别它将从队列中分派的消息是否已经被它分派?
假设远程服务器向同一个 AbstractPollingMessageListenerContainer 线程发送回响应很慢,因此 AbstractPollingMessageListenerContainer 线程仍在等待响应,因此无法从队列中删除消息,并且该消息的副本仍在 ActiveMQ 队列中。
现在假设队列中有 100 条消息,其中 1 条消息由于接收器速度慢而仍未从队列中删除,并且 99 条消息已被删除。现在,另一个从 ActiveMQ 队列中保持汇集消息的 AbstractPollingMessageListenerContainer 线程将找到此消息,并且它将再次发送此消息,或者它不会发送此消息,因为它识别出此消息已经发送过一次。 如果它识别为已发送,请解释它是如何识别的?
感谢和问候,
普拉卡什·钱德拉
【问题讨论】:
标签: spring activemq spring-jms