Вы должны быть в состоянии достичь того, что вы хотите, используя тему AMQP. Установите для параметра routingKey что-то вроде «my-topic». Настройте своих потребителей на различные предметы, как это предусмотрено, такие как «субъект-1», «субъект-2», ...
Для производителей каждый из них может отправлять сообщения с разными темами, такими как «my-topic.subject-1», «my-topic.subject-2», ... использовать их в качестве ключа маршрутизации для производителей.
Пример кода выглядит следующим образом:
//set up message consumer for "subject-1"
AMQTopic topic-1 = new AMQTopic(new AMQShortString("amq.topic"), new AMQShortString("my-topic.subject-1), false, null, true);
MessageConsumer consumer = session.createConsumer(topic-1);
Message message = consumer.receive();
...
//set up message producer for "subject-1"
MessageProducer producer = session.createProducer(topic-1);
producer.send(session.createTextMessage("my message"));
таким образом вы также можете настроить получателя на получение всех сообщений, которые отправляются в «my-topic», а также с использованием «my-topic. *» В качестве ключа маршрутизации.
Подробности смотрите в документации Qpid, "Программирование в Apache-Qpid"