diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/PluginChangeListener.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/PluginChangeListener.java
index ceac3f1..cfce77c 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/PluginChangeListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/PluginChangeListener.java
@@ -9,26 +9,33 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Timer;
+
 public class PluginChangeListener implements ChangeListener, LifecycleListener {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(PluginChangeListener.class);
   private final AMQPSession.Factory factory;
   private AMQPSession session;
   private final Gson gson = new Gson();
+  private final Timer monitorTimer = new Timer();
+  private final ConnectionMonitorTask monitorTask;
 
   @Inject
-  public PluginChangeListener(AMQPSession.Factory factory) {
+  public PluginChangeListener(AMQPSession.Factory factory, ConnectionMonitorTask monitorTask) {
     this.factory = factory;
+    this.monitorTask = monitorTask;
   }
 
   @Override
   public void start() {
     session = factory.create();
     session.connect();
+    monitorTimer.schedule(monitorTask, 15000, 15000);
   }
 
   @Override
   public void stop() {
+    monitorTimer.cancel();
     if (session != null) {
       session.disconnect();
     }
