Qual é a maneira correta de fechar o H2?

Isso está relacionado a issoposta.
Acho que estou tendo problemas comH2, o que significa que ele não fecha corretament
Suspeito disso desde que vejomyDB.lock.db quando desligo o tomcat e o processo não par
Uso o pool de conexões do Tomcat e o URL do banco de dados é:
url="jdbc:h2:file:/opt/myOrg/tomcat/webapps/MyApplication/db/myDatabase;SCHEMA=myschema"

Do documentoclose H2:

Normalmente, um banco de dados é fechado quando a última conexão é fechada .... Por padrão, um banco de dados é fechado quando a última conexão é fechada. No entanto, se nunca for fechado, o banco de dados será fechado quando a máquina virtual sair normalmente, usando um gancho de encerramento

Não consigo entender se estou fazendo algo errado.
Devo estar forçando o banco de dados a fechar por meio de um comando? Esse é o significado do gancho de desligamento?
O que eu estou fazendo errado aqui

Nota
Não consigo encontrar no Google um exemplo de como fecharH2 corretamente (além da declaração de que fecha automaticamente no último desligamento da conexão). Devo ligarSHUTDOWN Eu mesmo? Essa é a abordagem adequada?
Já vejo votos para encerrar a pergunta, mas não há um motivo ou link em um exemplo do que estou investigando

ATUALIZAR
Após Joonas Pulakka, responda a algumas informações extras:

Dejavacore Eu usei umkill -3 Vejo os tópicos:

"H2 Log Writer MYAPPLICATION" J9VMThread: 0x08DC6F00, j9thread_t: 0x08C9B790, java / lang / Thread: 0xE7206CC8, estado: CW, prio = 5 3XMTHREADINFO1 (ID de thread nativo: 0xA32, prioridade nativa: 0x5TH, prioridade nativa: 0x5T
(intervalo de endereços da pilha nativa de: 0xE5E26000 a: 0xE5E67000, tamanho: 0x41000) 3XMTHREADINFO3 pilha de chamada Java:
4XESTACKTRACE em java / lang / Object.wait (método nativo)
4XESTACKTRACE em java / lang / Object.wait (Object.java:196 (código compilado)) 4XESTACKTRACE em org / h2 / store / WriterThread.run (WriterThread.java:102)
4XESTACKTRACE em java / lang / Thread.run (Thread.java:736)

3XMTHREADINFO "pool-8-thread-1" J9VMThread: 0x087C0200, j9thread_t: 0x0840566C, java / lang / Thread: 0xE79BFC80, estado: P, prio = 5
3XMTHREADINFO1 (ID do encadeamento nativo: 0xE1A, prioridade nativa: 0x5, política nativa: DESCONHECIDO) 3XMTHREADINFO2
(intervalo de endereços da pilha nativa de: 0xE5F69000 a: 0xE5FAA000, tamanho: 0x41000) 3XMTHREADINFO3 pilha de chamada Java:
4XESTACKTRACE em sun / misc / Unsafe.park (método nativo)
4XESTACKTRACE em java / util / concurrent / locks / LockSupport.park (LockSupport.java:184 (código compilado)) 4XESTACKTRACE em java / util / concurrent / locks / AbstractQueuedSynchronizer $ ConditionObject.await (AbstractQueuedSynchronizer.java:1998 (código compilado) ) 4XESTACKTRACE em java / util / concurrent / LinkedBlockingQueue.take (LinkedBlockingQueue.java:413 (código compilado)) 4XESTACKTRACE em java / util / concurrent / ThreadPoolExecutor.getTask (ThreadPoolExecutor.java:958 (código compilado)) 4XESTACK /concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 4XESTACKTRACE em java / lang / Thread.run (Thread.java:736)

3XMTHREADINFO "Watchdog de Bloqueio de Arquivo H2 opt / myOrg / tomcat / webapps / MyApplication / db / myDatabase.lock.db" J9VMThread: 0x08DC6900, j9thread_t: 0x08C9BA24, ja
va / lang / Tópico: 0xE71E9018, estado: CW, prio = 9 3XMTHREADINFO1
(ID do thread nativo: 0xA30, prioridade nativa: 0x9, política nativa: UNKNOWN)
3XMTHREADINFO2 (intervalo de endereços da pilha nativa de: 0xE5DBA000 a: 0xE5DFB000, tamanho: 0x41000) 3XMTHREADINFO3 pilha de chamada Java: 4XESTACKTRACE em java / lang / Thread.sleep (método nativo) 4XESTACKTRACE
at java / lang / Thread.sleep (Thread.java:851 (código compilado))
4XESTACKTRACE em org / h2 / store / FileLock.run (FileLock.java:490) 4XESTACKTRACE
at java / lang / Thread.run (Thread.java:736)

3XMTHREADINFO "FileWatchdog" J9VMThread: 0x087C0800, j9thread_t: 0x08C9B4FC, java / lang / Thread: 0xE715D878, estado: CW, prio = 5
3XMTHREADINFO1 (ID do encadeamento nativo: 0xA2C, prioridade nativa: 0x5, política nativa: DESCONHECIDO) 3XMTHREADINFO2
(intervalo de endereços da pilha nativa de: 0xE5E67000 a: 0xE5EA8000, tamanho: 0x41000) 3XMTHREADINFO3 pilha de chamada Java:
4XESTACKTRACE em java / lang / Thread.sleep (método nativo) 4XESTACKTRACE em java / lang / Thread.sleep (Thread.java:851 (código compilado)) 4XESTACKTRACE em org / apache / log4j / helpers / FileWatchdog.run (FileWatchdog. java: 104)

questionAnswers(10)

yourAnswerToTheQuestion