I'm not sure it will work in your case, but I was able to do this for WebStart application which also doesn't display the text mode console: go to Java Control Panel and on the Advanced tab activate Java console/Show console. When the application starts, it should display a regular window (ie. not the text mode console) which will contain the JVM console output. There are several keys listed in the output when the console appears; pressing these keys initiates some actions, including Thread Dump. Not sure about Heap Dump, though.
This might not work if it really runs as a Windows service, with disabled desktop interaction.
On the other hand, I'd expect that
tomcat will start the applications in separate processes, using java.exe (at least OAS does it this way). Don't you see any
java.exe in VisualVM?