RestTemplate deve ser estático declarado globalmente?

Estou usando o Java Callable Future no meu código. Abaixo está o meu código principal que usa o futuro e 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();
    }
}

Abaixo está o meuTask classe que implementa a interface Callable e preciso gerar URL dependendo do nome do host que temos e, em seguida, fazer uma chamada para SERVERS usandoRestTemplate. Se houver alguma exceção no primeiro nome do host, gerarei um URL para outro nome do host e tentarei fazer uma chamada.

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
            }
        }
    }
}

Então, minha pergunta devo declararRestTemplate como variável global estática? Ou não deve ser estático nesse cenário?

questionAnswers(4)

yourAnswerToTheQuestion