Bom dia!
Meu problema é o seguinte:
tenho duas threads que estão executando em paralelo e gravando logs com o logger (java.util.logging.Logger). Quando o usuário utilizar o ctrl + c, o sistema deve finalizar as threads e encerrar corretamente. Para isso, utilizei o método addShutdownHook
Runtime.getRuntime().addShutdownHook(new ExitThread());
O detalhe é que a minha thread de exit espera que as outras Threads entrem em estado de espera (as duas threads possuem estado de processamento e de espera) para que o banco de dados não fique inconsistente nos processos que são chamados.
Até aí, tudo ok, minha ExitThread espera corretamente pelo término dos processos. O detalhe é que, a partir do ctrl + c do usuário, minhas duas Threads não gravam mais no arquivo de logs.
Dando uma pesquisada vi que o LogManager adiciona o seu próprio ShutdownHook ( http://www.coderanch.com/t/502088/java/java/Logger-ShutdownHook ).
Teria alguma forma de contornar esta situação e fazer com que o meu log seja encerrado apenas após minhas threads?