import com.google.common.util.concurrent.SettableFuture;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import io.netty.channel.Channel;
+
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
private static final Logger LOG = LoggerFactory.getLogger(JsonRpcEndpoint.class);
private static final int REAPER_THREADS = 3;
private static final ThreadFactory FUTURE_REAPER_THREAD_FACTORY = new ThreadFactoryBuilder()
- .setNameFormat("OVSDB-Lib-Future-Reaper-%d").build();
+ .setNameFormat("OVSDB-Lib-Future-Reaper-%d")
+ .setDaemon(true).build();
private static final ScheduledExecutorService FUTURE_REAPER_SERVICE
= Executors.newScheduledThreadPool(REAPER_THREADS, FUTURE_REAPER_THREAD_FACTORY);
reaperInterval = interval;
LOG.info("Ovsdb Rpc Task interval is set to {} millisecond", reaperInterval);
}
+
+ public static void close() {
+ LOG.info("Shutting down reaper executor service");
+ FUTURE_REAPER_SERVICE.shutdownNow();
+ }
}