You should be able to achieve what you want by using AMQP Topic. Set the routingKey to something such as "my-topic". Set up your Consumers to different subjects as designed, such as "subject-1", "subject-2", ...
For the producers each of them can send messages with different subjects, such as "my-topic.subject-1", "my-topic.subject-2", ... use those as the routingKey for the producers.
Sample code look like this:
//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"));
in this way you can also set up a consumer to receive all the message that are sent to "my-topic" as well using "my-topic.*" as its routing key.
See more details in Qpid documentation, "Programming-In-Apache-Qpid"