Make ExecutorProvider return Executor instead of ScheduledThreadPoolExecutor

The 3 modules binding the executor annotations (CacheExecutor,
EventExecutor and IndexExecutor) are using java.util.concurrent.Executor.

Change-Id: Ia078d402c8e26b17ec7a024df553857baf27c2e5
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java
index 9a91fcf..666375f 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/ExecutorProvider.java
@@ -17,10 +17,9 @@
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.server.git.WorkQueue;
 import com.google.inject.Provider;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.Executor;
 
-public abstract class ExecutorProvider
-    implements Provider<ScheduledThreadPoolExecutor>, LifecycleListener {
+public abstract class ExecutorProvider implements Provider<Executor>, LifecycleListener {
   private WorkQueue.Executor executor;
 
   protected ExecutorProvider(WorkQueue workQueue, int threadPoolSize, String threadNamePrefix) {
@@ -40,7 +39,7 @@
   }
 
   @Override
-  public ScheduledThreadPoolExecutor get() {
+  public Executor get() {
     return executor;
   }
 }