Index: trunk/src/main/java/omq/client/proxy/Proxymq.java
===================================================================
--- trunk/src/main/java/omq/client/proxy/Proxymq.java	(revision 54)
+++ trunk/src/main/java/omq/client/proxy/Proxymq.java	(revision 55)
@@ -48,4 +48,5 @@
 	private static final long serialVersionUID = 1L;
 	private static final Logger logger = Logger.getLogger(Proxymq.class.getName());
+	private static final String multi = "multi#";
 	private static Map<String, Object> proxies = new Hashtable<String, Object>();
 
@@ -56,5 +57,4 @@
 	private transient EventDispatcher dispatcher;
 	private transient Serializer serializer;
-	// private transient Channel channel;
 	private transient Properties env;
 	private transient Map<String, byte[]> results;
@@ -111,6 +111,4 @@
 	@Override
 	public Object invoke(Object proxy, Method method, Object[] arguments) throws Throwable {
-		// long timeStart = (new Date()).getTime();
-
 		// Local methods only
 		String methodName = method.getName();
@@ -151,6 +149,14 @@
 
 		// Get the environment properties
-		String exchange = env.getProperty(ParameterQueue.RPC_EXCHANGE);
-		String routingkey = this.uid;
+		String exchange;
+		String routingkey;
+
+		if (request.isMulti()) {
+			exchange = multi + env.getProperty(ParameterQueue.RPC_EXCHANGE);
+			routingkey = "";
+		} else {
+			exchange = env.getProperty(ParameterQueue.RPC_EXCHANGE);
+			routingkey = uid;
+		}
 
 		// Add the correlation ID and create a replyTo property
@@ -159,6 +165,4 @@
 		// Publish the message
 		byte[] bytesRequest = serializer.serialize(serializerType, request);
-		// TODO See this
-		// channel.basicPublish(exchange, routingkey, props, bytesRequest);
 		broker.getChannel().basicPublish(exchange, routingkey, props, bytesRequest);
 	}
@@ -213,5 +217,5 @@
 				timeout = sync.timeout();
 			}
-			return Request.newSyncRequest(corrId, methodName, arguments, retries, timeout);
+			return Request.newSyncRequest(corrId, methodName, arguments, retries, timeout, multi);
 		} else {
 			return Request.newAsyncRequest(corrId, methodName, arguments, multi);
