public void process(VirtualHost virtualHost, ServerMessage message) { String exchangeName = message.getMessageHeader().getReplyToExchange(); String routingKey = message.getMessageHeader().getReplyToRoutingKey(); IApplicationRegistry appRegistry = virtualHost.getApplicationRegistry(); QMFService service = appRegistry.getQMFService(); QMFPackage qmfPackage = service.getPackage(_packageName); QMFClass qmfClass = qmfPackage.getQMFClass(_className); QMFCommand[] commands = new QMFCommand[2]; commands[0] = new QMFSchemaResponseCommand(this, qmfClass); commands[1] = new QMFCommandCompletionCommand(this); Exchange exchange = virtualHost.getExchangeRegistry().getExchange(exchangeName); for (QMFCommand cmd : commands) { QMFMessage responseMessage = new QMFMessage(routingKey, cmd); ArrayList<? extends BaseQueue> queues = exchange.route(responseMessage); for (BaseQueue q : queues) { try { q.enqueue(responseMessage); } catch (AMQException e) { e.printStackTrace(); // To change body of catch statement use File | Settings | File // Templates. } } } }