Ueh, se o “Tomcat parou” sem dar commit, a transacao nao acontece. Qual o problema? 
PS: “o Tomcat parou” eh extremamente generico - se vc esta pensando serio em integridade de dados, vc vai ter que ser mais descritivo que isso: existem uns 50 jeitos diferentes de fazer um Tomcat parar, variando de Ctrl-C a um copo de coca-cola derramado em cima do processador da maquina, passando inclusive por invasoes alienigenas (TODO MUNDO precisa levar em conta os riscos gravissimos que as invasoes alienigenas podem acarretar a um CPD) e fazer com que isso mesmo assim nao corrompa os seus dados nao tem uma solucao so.