我使用Spring JMS和ActiveMQ通过ActiveMQ主题(发布/订阅)将消息从发送者发送到多个监听器。到目前为止,所有的监听器都可以接收来自发送者的消息。但是我想添加一个功能,当一个特定的监听器,比如listener1,收到消息时,listener1会向发送者发送一个回执确认。我遵循中的注释,在发送者中创建了一个TemporaryQueue,并在发送者和接收者中使用ReplyTo来获取从侦听器到发送者的确认消息。
我的发件人类是:
public class CustomerStatusSender {
private JmsTemplate jmsTemplate;
假设你有一些任务结构
Task1
Task2: 1 million separate independent Subtask[i] that can run concurrently
Task3: must run once after ALL Task2 subtasks have completed
所有的Task1、Subtaski和Task3都由MQ消息表示。如何在ActiveMQ上解决此问题?尤其是在所有子任务完成后触发Task3消息。
我知道,这不是排队问题,而是fork-join问题。假设环境要求您必须对其使用ActiveMQ。
允许使用ActiveMQ特性、动态队列和消费者之类