Qual melhor pratica para colocar tempo para execução de uma API?

bom dia amigos.

Gostaria de saber qual melhor pratica para coloca a cada 30 segundos uma chamada de uma API.

exemplo:
Esta correto assim ou tem outra forma melhor a se fazer.

		Thread.sleep(30000);
		
		HttpEntity<String> entity = new HttpEntity<String>(gson, headers);

		ResponseEntity<String> response = restTemplate.exchange(resourceUrl, HttpMethod.POST, entity, String.class);

obrigado

Tem a classe Timer:

Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {
        //codigo
    }
}, 0, 1000);

E a ScheduledExecutorService:

final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 scheduler.scheduleAtFixedRate(yourRunnable, 8, 8, TimeUnit.HOURS);
2 curtidas