AWT-EventQueue NullPointerException
Ich habe ein signiertes applet schreibt text-Dateien in einem angegebenen Verzeichnis in einer client-Arbeitsstation.
Wenn ich es lade das applet in einem web-browser zum ersten mal, es war kein problem. Gelingt es zum laden in den browser und schreibt die Daten in eine Textdatei. Aber wenn ich weiterhin so laden Sie es wieder, es will einfach nicht laden. Alles, was ich sehe, ist die Java-laden-Bild. Auch nach einer Wartezeit von 10 Minuten, das applet wird nicht geladen.
Leider nicht passieren die ganze Zeit. Ich habe versucht, schließen Sie den browser und löschen alle seine caches und temp-Dateien, aber manchmal wird es wieder auftreten.
Die client-Arbeitsstation JRE 1.6.0_16 installiert und es läuft auf Windows XP getestet auf IE8.
Unten ist das Applet-tag-code in der HTML-Seite.
<applet code="com.applet.files.PrintTkt.class" archive="<%=BaseURL %>/UT/SPrintTkt.jar" width="500" height="450">
<param NAME="ROOT" value="<%= BaseURL %>">
<param NAME="CHARSET" value="<%= charset %>">
<param NAME="batfile" value="<%= batfile %>">
<param NAME="filename" value="<%= filename %>">
<param NAME="PAGE_ID" value="PrintTkt">
</applet>
Unten wird der Stack-Trace aus der Java-Konsole. Die Ausnahmen unten geworfen wurden, nur, wenn ich aktualisiert die Seite, gehen Sie zu einer anderen Seite oder Abmeldung von unserer web-Anwendung. Vor, dass der stack-trace zeigte nur, dass das Applet geladen wird.
basic: Loading Java Applet ...
basic: Applet initialized
basic: Removed progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@59a34
basic: Applet made visible
basic: Starting applet
basic: completed perf rollup
basic: Applet started
basic: Told clients applet is started
Exception in thread "AWT-EventQueue-6" java.lang.NullPointerException
at java.awt.LightweightDispatcher$3.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-6" java.lang.NullPointerException
at java.awt.LightweightDispatcher$3.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-6" java.lang.NullPointerException
at java.awt.LightweightDispatcher$3.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
- NB: 6u20 ist die aktuelle sichere version von Java SE.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich festgestellt Varianten vor. Wenn eine Seite mit einem applet geladen wird, kann es wiederverwenden der classloader bietet, hat es nicht abgeschlossen. Wenn dies geschieht, werden die Klassen bereits geladen, dass classloader nicht geladen. Dies kann dazu führen, einige böse Probleme mit statischen Mitglieder. Die Klasse bereits geladen, so dass die Klasse-Statik nicht bekommen, neu initialisiert. Und, werden Sie wind-up mit einer Klasse static, ist nicht null, sondern den Wert, den es hält, ist nicht mehr gültig.
Überprüfen Sie Ihren code für statische Elemente und beseitigen, wo es möglich ist. Wenn Sie nicht entfernen Sie Sie, fügen Sie die Haken, um das applet-stop-Methode, um die statischen Werte zu null.