Index: trunk/src/main/java/omq/common/broker/Broker.java
===================================================================
--- trunk/src/main/java/omq/common/broker/Broker.java	(revision 84)
+++ trunk/src/main/java/omq/common/broker/Broker.java	(revision 98)
@@ -27,4 +27,5 @@
 import com.rabbitmq.client.Connection;
 import com.rabbitmq.client.QueueingConsumer;
+import com.rabbitmq.client.AMQP.BasicProperties;
 import com.rabbitmq.client.QueueingConsumer.Delivery;
 import com.rabbitmq.client.ShutdownListener;
@@ -125,5 +126,5 @@
 	 * @throws Exception
 	 */
-	public Channel getChannel() throws Exception {
+	public synchronized Channel getChannel() throws Exception {
 		return channel;
 	}
@@ -135,6 +136,17 @@
 	 * @throws IOException
 	 */
-	public Channel getNewChannel() throws IOException {
+	public synchronized Channel getNewChannel() throws IOException {
 		return connection.createChannel();
+	}
+
+	/**
+	 * 
+	 */
+	public synchronized void publishMessge(String exchange, String routingKey, BasicProperties props, byte[] bytesRequest) throws IOException {
+		if (!channel.isOpen()) {
+			logger.error("Broker's channel is closed opening a new one", channel.getCloseReason());
+			channel = getNewChannel();
+		}
+		channel.basicPublish(exchange, routingKey, props, bytesRequest);
 	}
 
