ScheduledExecutorService: quand shutdown devrait être appelé?

- Je utiliser ScheduledExecutorService dans mon application. J'ai besoin de l'utiliser de temps en temps dans certaines classe Utilitaire pour exécuter prévue threads.

Est-il un bon design pour contenir ScheduledExecutorService dans un champ statique? Est-ce nécessaire d'invoquer ScheduledExecutorService.shutdown() dans ce cas? Quel est le risque si je ne suis pas d'invoquer l'arrêt?

C'est ce que j'ai pensé à faire:

private static ScheduledExecutorService exec = Executors.newScheduledThreadPool(5);

public void scheduleTask(String name) {
        Future<?> future = futuresMapping.get(name);
        if(future!=null && !future.isDone())
            future.cancel(true);

        //execute once   
        Future<?> f = scheduledExecutor.schedule(new MyTask()), 1, TimeUnit.MINUTES);
        futuresMapping.put(name, f);
}

Merci

source d'informationauteur lili