Executar método ao finalizar app

Ola pessoal.

A um tempo traz tive que fazer um trabalho na faculdade em C. E pelas minhas andanças pelo Google, encontrei um esquema legal pro meu trabalho. Era o seguinte: sempre que o programa fosse encerrado, seja normalmente ou via um Ctrl+C ou qualquer coisa, ele disparava um método.

Existe a possibilidade de eu fazer isso no java? Alguma propriedade?

Meu problema é o seguinte, estou fazendo um acesso via WebService que me retorna uma lista de livros… algumas vezes, milhares… e esses livros eu vou armazenando localmente…

Como as vezes eu nao tenho tempo/paciencia para esperar ele buscar todos os livros e so entao gravar localmente, queria saber se tem como eu fazer isso??

Valew abraços.

Se você está usando servlets existe uma interface ServletContextListener se não me engano, que tem um método que é executado quando o servlet é finalizado.

Em swing já fiz quando um programa era fechado, usando WindowListener

[quote=“BrunoBastos”]Se você está usando servlets existe uma interface ServletContextListener se não me engano, que tem um método que é executado quando o servlet é finalizado.

Em swing já fiz quando um programa era fechado, usando WindowListener[/quote]

Valew, mas a qeustão é que nem tele eu tenho ainda… mas é para ser um Desktop mesmo.

Valew!

[code]Runnable run = new Runnable(){
public void run(){
//executa alguma coisa
}
};

Thread hook = new Thread(run);

Runtime.getRuntime().addShutdownHook(hook);[/code]