There is a commercial offering, that you could consider DynaTrace, from Compuware. I do not work for, and have never worked for or with Compuware, however my current organisation is currently considering using Dynatrace in our production environment.
Depending on the type of Java application that you're running, whether it is a desktop-based, or server-based, installation would be adding a jar to the classpath (plus adding a network appliance to your network). Running the application would cause instrumentation data to be sent to the Dynatrace servers, where you can retrieve it, and even trace individual user paths and transactions through the entire system (irrespective of the technology used).
Dynatrace is something I would envisage you left running at all times, rather than just when you wanted to diagnose a particular problem. Also, Dynatrace is not cheap - you're probably looking at a 5-figure cost per server, however from what I've seen, it appears to work almost like a permanently running debugger, but without too much of a performance penalty (<5%).
I don't know exactly what type of application you're running, but ours is a Java EE based web application, interfacing to some of our back-end servers.
HTH