Add shutdown listner
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/AMQPSession.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/AMQPSession.java
index 4ded349..d82738b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/AMQPSession.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/AMQPSession.java
@@ -6,6 +6,8 @@
 import com.rabbitmq.client.Channel;
 import com.rabbitmq.client.Connection;
 import com.rabbitmq.client.ConnectionFactory;
+import com.rabbitmq.client.ShutdownListener;
+import com.rabbitmq.client.ShutdownSignalException;
 
 import org.apache.commons.codec.CharEncoding;
 import org.apache.commons.lang.StringUtils;
@@ -16,7 +18,7 @@
 import java.net.URISyntaxException;
 import java.util.UUID;
 
-public class AMQPSession {
+public class AMQPSession implements ShutdownListener {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(AMQPSession.class);
   private static final String EXCHANGE_TYPE_DIRECT ="direct";
@@ -54,6 +56,7 @@
           factory.setPassword(properties.getAMQPPassword());
         }
         connection = factory.newConnection();
+        connection.addShutdownListener(this);
         LOGGER.info("Connection established.");
       }
       bind();
@@ -116,7 +119,6 @@
       connection = null;
       publishChannel = null;
     }
-    LOGGER.info("Disconnected.");
   }
 
   public void sendMessage(String message) {
@@ -130,4 +132,9 @@
       }
     }
   }
+
+  @Override
+  public void shutdownCompleted(ShutdownSignalException arg0) {
+    LOGGER.info("Disconnected.");
+  }
 }