programmende registrieren

Status
Nicht offen für weitere Antworten.

lexx73

Mitglied
hallo,

habe ein kleines programm geschrieben, was im regelmässigem abstand eine xml-datei ausliesst und sie in eine datenbank überträgt. soweit kein problem. ;-)

nun habe ich ein eigenen logger der die updates, fehler und der gleichen mitloggt. aber eines bekomme ich nicht mit. ist das programm noch am laufen? das würde ich nehmlich auch gerne mitloggen. d.h. wenn das programm sich beendet, egal wie, ob nun durch konsole oder fehler usw. dann soll er vor dem ende noch in die log schreiben "programm beendet".

wäre super wenn mir einer weiterhelfen könnte.

mfg
janko
 

lexx73

Mitglied
das klingt schon mal super, das ist glaub ich genau das was ich suche. aber wie bekomme ich es jetzt geloggt, wenn ich den oder die threads "Hooke"?
 

Murray

Top Contributor
Code:
Runtime.getRuntime().addShutdownHook( new Thread( new Runnable() {
  public void run() {
     //--- Dieser Code wird durchlaufen, wenn die Shutdown-Sequence der VM begonnen wird

     System.err.println( "VM wurde beendet!");
     System.err.flush();

  }
}));
 

lexx73

Mitglied
perfekt, genau das was ich suche! danke!!!
wie ist das eigendlich bei der eclipse, da wird die meldung nicht aufgerufen wenn man das programm beendet. was ist da anders?
 

Leroy42

Top Contributor
lexx73 hat gesagt.:
wie ist das eigendlich bei der eclipse, da wird die meldung nicht aufgerufen wenn man das programm beendet. was ist da anders?

Ich vermute mal, daß dort die VM erst beendet wird, wenn Eclipse selbst
beendet wird. ???:L
 

lexx73

Mitglied
das könnte sein.
aber wenn man z.b. sein programm in der eclipse startet ist es im windows-task-manager ein eigenständiger prozess den man darüber auch killen kann, dann müsste das programm doch über eine eigene vm laufen. oder?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben