diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMQManager.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMQManager.java
index af02df8..8121d4a 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMQManager.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMQManager.java
@@ -16,22 +16,20 @@
   private static final Logger LOGGER = LoggerFactory.getLogger(RabbitMQManager.class);
   private final static int MONITOR_FIRATTIME_DELAY = 15000;
   private final Properties properties;
-  private final AMQPSession.Factory factory;
-  private AMQPSession session;
+  private final AMQPSession session;
   private final Gson gson = new Gson();
   private final Timer monitorTimer = new Timer();
   private final ConnectionMonitorTask monitorTask;
 
   @Inject
-  public RabbitMQManager(Properties properties, AMQPSession.Factory factory, ConnectionMonitorTask monitorTask) {
+  public RabbitMQManager(Properties properties, AMQPSession session, ConnectionMonitorTask monitorTask) {
     this.properties = properties;
-    this.factory = factory;
+    this.session = session;
     this.monitorTask = monitorTask;
   }
 
   @Override
   public void start() {
-    session = factory.create();
     session.connect();
     monitorTimer.schedule(monitorTask, MONITOR_FIRATTIME_DELAY, properties.getConnectionMonitorInterval());
   }
@@ -39,10 +37,7 @@
   @Override
   public void stop() {
     monitorTimer.cancel();
-    if (session != null) {
-      session.disconnect();
-    }
-    session = null;
+    session.disconnect();
   }
 
   @Override
