executando tarefas periódicas no lado do servidor para o site JSP MVC do servlet [duplicado]

Esta pergunta já tem uma resposta aqui:

Como executar uma tarefa em segundo plano em um aplicativo Web baseado em servlet? 5 respostas

Eu desenvolvi um aplicativo Web usando o servlet e JSP. Eu não estou usando nenhuma estrutura em si, em vez disso, usando minha própria estrutura MVC fabricada em casa. Estou usando o MySQL como back-end.

Eu quero fazer o seguinte:

Limpe alguns dados da base de dados a cada horaGere e armazene estatísticas sobre dados a cada 15 minutos em um arquivo XML em algum lugar

O problema é: atualmente todo o meu código é executado como resultado da solicitação recebida de um cliente.

Como executo tarefas periódicas no lado do servidor?

Uma solução que tenho agora é criar um thread na função init do controlador. Existem outras opções?

questionAnswers(2)

yourAnswerToTheQuestion