RestTemplate doit être statique déclarés globalement?

Je suis à l'aide de Java Appelable Avenir dans mon code. Ci-dessous mon code principal qui utilise l'avenir et callables -

public class TimeoutThread {

    public static void main(String[] args) throws Exception {

        ExecutorService executor = Executors.newFixedThreadPool(5);
        Future<String> future = executor.submit(new Task());

        try {
            System.out.println("Started..");
            System.out.println(future.get(3, TimeUnit.SECONDS));
            System.out.println("Finished!");
        } catch (TimeoutException e) {
            System.out.println("Terminated!");
        }

        executor.shutdownNow();
    }
}

Ci-dessous est mon Task classe qui implémente l'Appelable de l'interface et j'ai besoin de générer l'URL en fonction du nom d'hôte que nous avons, et puis faire un appel à des SERVEURS à l'aide de RestTemplate. Si il n'y a aucune exception dans le premier domaine, je vais générer l'URL pour un autre nom d'hôte et je vais essayer de faire un appel.

class Task implements Callable<String> {
    private static RestTemplate restTemplate = new RestTemplate();

    @Override
    public String call() throws Exception {

    //.. some code

    for(String hostname : hostnames)  {
            if(hostname == null) {
                continue;
            }
            try {
                String url = generateURL(hostname);         
                response = restTemplate.getForObject(url, String.class);

                //make a response and then break
                break;

            } catch (Exception ex) {
                ex.printStackTrace(); //use logger
            }
        }
    }
}

Donc ma question dois-je déclarer RestTemplate comme statique de la variable globale? Ou il ne devrait pas être statique dans ce scénario?

OriginalL'auteur AKIWEB | 2014-01-15