Netvirt troubleshooting improvements
[netvirt.git] / elanmanager / impl / src / main / java / org / opendaylight / netvirt / elan / utils / Scheduler.java
1 /*
2  * Copyright (c) 2018 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.netvirt.elan.utils;
10
11 import com.google.common.util.concurrent.ThreadFactoryBuilder;
12
13 import java.util.concurrent.Executors;
14 import java.util.concurrent.ScheduledExecutorService;
15 import java.util.concurrent.ThreadFactory;
16 import javax.inject.Singleton;
17
18 @Singleton
19 public class Scheduler implements AutoCloseable {
20
21     private final ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
22             .setNameFormat("elan-sched-%d").build();
23
24     private final ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1,
25             namedThreadFactory);
26
27     public ScheduledExecutorService getScheduledExecutorService() {
28         return scheduledExecutorService;
29     }
30
31     @Override
32     public void close() {
33         scheduledExecutorService.shutdown();
34     }
35 }