Setup connection monitor timer
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();
}