Cela peut être une vue longue d'une question, mais j'ai rencontré un problème très compliqué et je ne sais pas comment le résoudre. En bref, une application Java est en cours d'exécution. Elle utilise actuellement JDBC pour extraire des données d'une base de données MySQL au démarrage.Exporter des données à partir de JVM en cours d'exécution?
Nous avons eu une fusion et cette base de données n'est plus active et a été perdue pour toujours, de même que les données qui vont avec, ce qui est très précieux en interne.
Cependant, les données sont toujours stockées dans le tas de la machine virtuelle Java en cours d'exécution qu'il a tiré dans.
Mon seul espoir est maintenant d'extraire en quelque sorte les données de la machine virtuelle Java en cours d'exécution, dans un monde idéal, je serais en mesure de y joindre et ont la possibilité d'exécuter du code qui pourrait accéder aux cours de fonctionnement interne ..
Mes questions sont aujourd'hui:
- est mon approche raisonnable et possible?
- Si oui, comment puis-je joindre à la machine virtuelle Java et le code « Injecter »
Merci de lire
Vous connaissez l'API attacher? Et des décharges de tas? –
Voir [Comment obtenir un vidage de threads et de tas d'un processus Java sous Windows qui ne s'exécute pas dans une console] (http://stackoverflow.com/questions/407612/how-to-get-a-thread-and-heap -dump-d'un-java-process-on-windows-thats-not-runnin). – saka1029