RestTemplate должен быть объявлен статически глобально?

Я использую Java Callable Future в своем коде. Ниже мой основной код, который использует будущее и вызываемые -

public class TimeoutThread {

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

        ExecutorService executor = Executors.newFixedThreadPool(5);
        Future 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();
    }
}

Ниже мойTask класс, который реализует интерфейс Callable, и мне нужно сгенерировать URL в зависимости от имеющегося у нас имени хоста, а затем сделать вызов SERVERS, используяRestTemplate, Если в первом имени хоста есть какое-либо исключение, я сгенерирую URL для другого имени хоста и попытаюсь позвонить.

class Task implements Callable {
    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
            }
        }
    }
}

Так что мой вопрос я должен объявитьRestTemplate как статическая глобальная переменная? Или оно не должно быть статичным в этом сценарии?

Ответы на вопрос(4)

Ваш ответ на вопрос