javax.exe beenden nach Programmende

c_sidi90

Top Contributor
Ich weiss ist ne blöde Frage, doch ich wunder mich gerade wieso sich die javax.exe immernoch im Taskmanager befindet wenn ich meine Applikation beende. Sie wirft keine Exceptions und abundzu wird das Programm auch im Taskmanager geschlosen nur teilweise auch nicht. Wer kann mir eine mögliche Ursache nennen?
 

tfa

Top Contributor
Wenn java.exe noch im Taskmanager erscheint, läuft das Programm noch.
Wie beendest du deine Applikation?
 

c_sidi90

Top Contributor
Durch schließen des Fensters. JFrame.EXIT_on_Close, teilweise wird der Prozess auch gekillt nur halt leider "teilweise" was unvorteilhaft bei einer Netzwerkapp ist.
 

hansmueller

Bekanntes Mitglied
Hallo,

hast du es schon mal statt mit
Code:
JFrame.EXIT_on_Close
mit einem WindowAdapter und dort in der Methode
Code:
windowClosing
ein
Code:
System.exit(0);
probiert?
Dort kannst du auch noch evtl. Abschluß-Methoden (z. B. Abmeldung von Datenbank usw.) ausführen lassen, bevor das Programm beendet wird.

MfG
hansmueller
 

c_sidi90

Top Contributor
Ja habe ich versucht, ist aber kein Unterschied. Und ja ich habe einen Thread am laufen. Aber dieser sollte sich doch terminieren wenn ich das Programm schließe, tut er ja auch teilweise.
 

Noctarius

Top Contributor
System.exit sollte man nur in Notfällen nutzen meiner Meinung nach und zwar genau dann, wenn man einen speziellen Exit-Code braucht. Als generelles Mittel zum Zweck ist es nicht gedacht.
Wenn ein GUI Programm sich nicht beenden mag, ist ein Programmierfehler drin!


Ja habe ich versucht, ist aber kein Unterschied. Und ja ich habe einen Thread am laufen. Aber dieser sollte sich doch terminieren wenn ich das Programm schließe, tut er ja auch teilweise.

Nicht immer. Erstens muss der Prozess so eingestellt sein, dass er sich beim Programmende automatisch beendet und zweitens geht das auch nur, wenn du z.B. sauber beendest.

Am Besten arbeitet man mit Threads wenn man der Klasse (z.B. dem Runnable) eine Methode "shutdown" mit gibt welche dem Thread sagt "bitte mach mal noch fix die Arbeit fertig und geh dann an einem Safepoint aus".

Dieser Safepoint könnte z.B. die gerade zu bearbeitende Transaktion oder ähnliches sein.

Einen Thread abschießen ist immer unschön.

Java:
class Task implements Runnable{
  private final AtomicBoolean stop = new AtomicBoolean(false);

  public void run() {
    for (int i = 0; i < 100000; i++) {
      Transaction transaction = Transaction.begin();
      try {
        ... long work
        transaction.commit();
      } catch (Exception) {
        transaction.rollback();
      }
     
      // Safepoint weil Transaction durch
      if (stop.get()) {
        return;
      }
    }
  }

  public void shutdown() {
    stop.set(true);
  }

}
 
Zuletzt bearbeitet:

c_sidi90

Top Contributor
Und wie schauts aus wenn der Thread durchgehend laufen muss, bis das Programm wirklich beendet wird durch das "X" ? Er hat keine Zeitliche Einschränkung, dass Abbruchkriterium ist das Programmende.
 

Noctarius

Top Contributor
Hab oben mal nachbearbeitet. Du rufst im Close-Handler die Methode shutdown() des Tasks auf und dieser sucht den nächsten Safepoint und beendet sich dann. Im schlimmsten Fall hast du bei dieser Methode einen Thread der ein paar Sekunden länger läuft als der Rest des Programms bevor er ausgeht. Dafür hast du sichere Datenkonsistenz.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
HolyFUT Javax Websocket API implementieren Java Basics - Anfänger-Themen 14
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
O Problem mit SOAP / javax.xml importieren Java Basics - Anfänger-Themen 7
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
pkm javax.script.ScriptException bei der ScriptEngine Java Basics - Anfänger-Themen 9
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
R Klassen Javax.vecmath.* Java Basics - Anfänger-Themen 5
S timer funktion mit javax panel Java Basics - Anfänger-Themen 3
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
T eclipse findet javax nicht Java Basics - Anfänger-Themen 4
N Erste Schritte import javax.media.3d....; //Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 10
timbeau Javax.Mail: Check this out Java Basics - Anfänger-Themen 10
L javax.xml.transform.Source Java Basics - Anfänger-Themen 6
StrikeTom Javax.mail frage(zu code) Java Basics - Anfänger-Themen 17
N javax.swing.JOptionPane einbauen? Java Basics - Anfänger-Themen 9
D package javax.comm does not exist Java Basics - Anfänger-Themen 5
kulturfenster Problem mit javax.swing.Timer Java Basics - Anfänger-Themen 2
C javax.print.DocPrintJob Java Basics - Anfänger-Themen 17
G Fehler beim builden javax...... Java Basics - Anfänger-Themen 4
J Servlet Interface javax.servlet.Servlet Java Basics - Anfänger-Themen 2
? Konsolenprogramm hat Problem mit java.awt oder javax.swing Java Basics - Anfänger-Themen 7
G NoClassDefFoundError: javax/xml/stream/XMLStreamException Java Basics - Anfänger-Themen 23
A Finde javax.servlet.* nicht Java Basics - Anfänger-Themen 6
M Fehler: package javax.portlet does not exist Java Basics - Anfänger-Themen 2
V Serialisieren einer ShortMessage (javax.sound.midi) Java Basics - Anfänger-Themen 5
alexpetri javax.xml.stream.* nicht gefunden Java Basics - Anfänger-Themen 3
A java.awt und javax.swing verschwunden Java Basics - Anfänger-Themen 2
S import javax.image.io.*; funktioniert nicht Java Basics - Anfänger-Themen 28
L getDuration() von einem javax.media.player objekt problem. Java Basics - Anfänger-Themen 3
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
E Wo bekomme ich das javax.swing.* package her? Java Basics - Anfänger-Themen 3
G import javax.servlet cannot be resolved Java Basics - Anfänger-Themen 1
N Probleme mit import von javax.servlet.* Java Basics - Anfänger-Themen 3
B Wo finde ich die Klasse javax.sound.sampled.AudioSystem Java Basics - Anfänger-Themen 7
R Javax.mail wird nicht gefunden Java Basics - Anfänger-Themen 2
G wie bekomme ich das javax.jws.* package in den JBuilder ? Java Basics - Anfänger-Themen 7
J javax.comm-API kompilieren Java Basics - Anfänger-Themen 12
C wo ist mein javax.mail? Java Basics - Anfänger-Themen 2
L JavaMail: javax.mail wird nicht gefunden Java Basics - Anfänger-Themen 2
F javax.imageio.ImageIO write methode Java Basics - Anfänger-Themen 11
B javax entpacken - aber wohin? Java Basics - Anfänger-Themen 2
P Wie kann diese Schleife beenden Java Basics - Anfänger-Themen 1
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
K Bufread.readLine())!= null wie beenden? Java Basics - Anfänger-Themen 4
B Endlosschleife Thread sauber beenden Java Basics - Anfänger-Themen 19
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
D Konsoleneingabe mit Abbruchbedingung beenden Java Basics - Anfänger-Themen 11
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
ralli85 Programm nach einer gewissen Anzahl von Eingaben beenden Java Basics - Anfänger-Themen 15
W Geschachtelte for-schleife beenden Java Basics - Anfänger-Themen 2
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
KaffeeFan Timer beenden Java Basics - Anfänger-Themen 12
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
T Input/Output Programm beenden durch Eingabe Java Basics - Anfänger-Themen 1
O Per return Run Methode beenden Java Basics - Anfänger-Themen 3
R for-Schleife bei erfüllter Bedingung beenden Java Basics - Anfänger-Themen 7
B Timer beenden? Java Basics - Anfänger-Themen 0
T For-Schleife mit Esc Beenden Java Basics - Anfänger-Themen 5
X Robot beenden oder zerstören Java Basics - Anfänger-Themen 7
T Bei Buttonklick Aktion starten, nach erneutem Klick beenden Java Basics - Anfänger-Themen 4
J beenden durch choice Java Basics - Anfänger-Themen 11
L Methode per Knopfdruck beenden Java Basics - Anfänger-Themen 3
TheSorm java Schleife beenden per Tastendruck Java Basics - Anfänger-Themen 10
Bluedaishi Klassen Thread über if Anweisung starten und von anderer Klassen über Button Beenden Java Basics - Anfänger-Themen 34
FreeFun Java Anwendung beenden Java Basics - Anfänger-Themen 7
M Programm beenden über menueItem "Beenden"! Java Basics - Anfänger-Themen 5
D Applet beenden Java Basics - Anfänger-Themen 7
A mit break if beenden Java Basics - Anfänger-Themen 6
A Programm beenden Java Basics - Anfänger-Themen 6
P Threads Thread und Zugriff auf externe Methode beenden Java Basics - Anfänger-Themen 4
E Intanz einer Klasse beenden Java Basics - Anfänger-Themen 6
S Komplette Rekursion beenden? Java Basics - Anfänger-Themen 2
E Prozesse überwachen und gezielt beenden Java Basics - Anfänger-Themen 3
L Prozess beenden Java Basics - Anfänger-Themen 3
T Opaque kennt er nicht/ programm beenden?? Java Basics - Anfänger-Themen 9
R Programm nach ablauf eines Timers beenden Java Basics - Anfänger-Themen 10
K Zeit ablaufen lassen und nach Ablauf beenden Java Basics - Anfänger-Themen 5
D Programm durch eingabe von einer "0" beenden... Java Basics - Anfänger-Themen 21
Steve5000 Externe Batch-Datei starten und anwendung beenden?! Java Basics - Anfänger-Themen 4
B Java-Programm-Dienst sauber beenden Java Basics - Anfänger-Themen 6
M Probleme beim Beenden eines Threads Java Basics - Anfänger-Themen 25
J Schleife durch nichtseingeben/Enter beenden. Java Basics - Anfänger-Themen 5
C Exceptions beim Beenden Java Basics - Anfänger-Themen 2
J Methode beenden Java Basics - Anfänger-Themen 6
T switchcase innerhalb Schleife: von case-Fall aus Schleife beenden Java Basics - Anfänger-Themen 3
T Programm beenden (Exit function?) Java Basics - Anfänger-Themen 6
J Programm beenden via Benutzereingabe Java Basics - Anfänger-Themen 8
U Threads - Beenden/ Wieder starten Java Basics - Anfänger-Themen 10
S Eingabe über Scanner einlesen und automatisch beenden Java Basics - Anfänger-Themen 11
D Exceptions werfen + beenden Java Basics - Anfänger-Themen 12
I Gui läßt sich nicht beenden Java Basics - Anfänger-Themen 6
J Thread beenden? Java Basics - Anfänger-Themen 2
Piwi Timer bei Programmende beenden Java Basics - Anfänger-Themen 25
pun Thread "extern" beenden Java Basics - Anfänger-Themen 4
P Ein Programm vorzeitig beenden und wieder an den Anfang springen. Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben