SCHWERWIEGEND: NullPointerException bei Tomcat

Status
Nicht offen für weitere Antworten.
G

ghoulkar

Gast
Ich bekomme gelegentlich eine NullPointerException, die ich mir nicht erklären kann.
In den Tomcat logs steht folgendens:

localhost.2008-05-29.log:

29.05.2008 16:45:37 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.index_jsp._jspService(index_jsp.java:498)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

Die Meldung im Browser war aufschlussreicher, habe ich aber leider nicht mehr zur Hand und da der Fehler nicht reproduzierbar ist, kann ich sie wohl erst nachliefern wenn sie das nächste Mal aufgetreten ist.

Ein Teil davon lautete:

An error occurred at line: 114 in the jsp file: /[...]
java.lang.NullPointerException

Die jsp sieht so aus:
<% HashMap<String,Vector<Getraenk>> getraenkeKarte = Events.getGetraenke(); %>
<%Vector<Getraenk> getraenke = getraenkeKarte.get("Warme Getraenke"); %>

Besagte Zeile 114:
<% for (int i=0; i<getraenke.size(); i++ ) { %>

und das sind die passenden Methoden dazu:

Code:
      public static HashMap<String, Vector<Getraenk>> getGetraenke(){
		HashMap<String, Vector<Getraenk>> getraenke = new HashMap<String, Vector<Getraenk>>();
		HashMap<Integer, String> getraenkeart = getGetraenkeArt();
		Iterator<Integer> artIter = getraenkeart.keySet().iterator();
		while (artIter.hasNext()){
			int next = artIter.next();
			getraenke.put(getraenkeart.get(next), getGetraenke(next));
		}
		return getraenke;
	}

       public static Vector<Getraenk> getGetraenke(int getraenkeart_id){
		Vector<Getraenk> getraenke = new Vector<Getraenk>();
		Connection con = DbConnectionPool.getConnection();
		String query = "[...];
		try{
			PreparedStatement pstmt = con.prepareStatement(query);
			pstmt.setInt(1, getraenkeart_id);
			ResultSet result = pstmt.executeQuery();
			while (result.next()){
				Getraenk g = new Getraenk(
                                                        result.get([...])
                                                        [...]
						);
				getraenke.add(g);
			}
			pstmt.close();
		}catch(Exception e){
			System.out.println(query);
			e.printStackTrace();
		}finally{
			DbConnectionPool.returnConnection(con);
		}
		return getraenke;
	}

Eigentlich kann die Methode doch gar nicht null zurückgeben oder übersehe ich etwas?

Meistens reicht es die gleiche Seite nochmal aufzurufen um sie angezeigt zu bekommen. Ansonsten scheint nach einem Tomcat Neustart alles wieder in Ordnung, ist aber leider nicht so. Nach einer unbestimmten Zeit tritt der Fehler wieder auf.

Auf dem Server:
Apache Tomcat Version 6.0.16
Using JRE_HOME: [...]/jdk1.6.0_05/jre

Bei google sinds leider nur 9 Treffer, die mir nicht weiterhelfen.
Hat jemand eine Idee?
 

ms

Top Contributor
Code:
 at org.apache.jsp.index_jsp._jspService(index_jsp.java:498)
Zeig doch mal den code von index_jsp.java um Zeile 490 herum.

Bei deinem Code ist mir aufgefallen, dass du dein Resultset nicht schließt.

ms
 

HLX

Top Contributor
In den beiden JSP-Zeilen steht nirgendwo ein Aufruf der besagten Methode "getGetraenke()". Wo ist hier der Bezug?

Du rufst anscheindend stattdessen "getraenkekarte.get(...)" auf - was dir wohl in bestimmten Konstellationen null zurückliefert.
 
G

ghoulkar

Gast
@ms:
Wo finde ich die index_jsp.java?

Dass das ResultSet nicht geschlossen wird sollte kein Problem sein,
da es automatisch mit dem PreparedStatement geschlossen wird.

@HLX
Vollkommen richtig, ich hatte noch etwas vergessen.

Ich habe in den log files noch andere Exceptions gefunden:

1. PSQLException: Die Abfrage lieferte kein Ergebnis
nach einem INSERT Statement.

2. PSQLException: Eingabe/Ausgabe-Fehler {0} beim Senden an das Backend
nach SELECT Statements.

Auch dazu gibt es nicht viele Treffer.
 
G

ghoulkar

Gast
Zur Zeit sieht es so aus, als wären die Exceptions zustande gekommen, weil Connections zwar einmal aus dem Pool genommen, dann aber mehrmals zurückgegeben wurden. Das würde auch dazu passen, dass das System zunächst stabil läuft und nach gewisser Zeit Exceptions wirft.
Ich hoffe das war der Fehler.
Vielen Dank für die Mühe erstmal.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
O NullPointerException bei CDI Web Tier 4
S NullPointerException in ManagedBean? Web Tier 4
J NullPointerException bei Outputwriter Web Tier 9
F NullPointerException auf validator methode Teil2? Web Tier 2
B JSF NullPointerException auf validator methode Web Tier 7
S NullpointerException requestgetParameterValues Web Tier 17
C NullPointerException Web Tier 4
L [RichFaces] Applikation wird mit NullPointerException beendet Web Tier 5
ruutaiokwu Servlet Tomcat Versionsproblem? Web Tier 4
I JSF JSF, Tomcat, Server Faces und maven Web Tier 3
feinperligekohlensaeure JSF JSF + Tomcat 9 | HTTP Status 404 |(com.sun.faces.config.ConfigureListener?) Web Tier 1
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
puba mit JDev entwickelter WS auf Tomcat deployen Web Tier 2
R JSF Tomcat 7 & JSF - UnsupportedOperationException Web Tier 1
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S Tomcat 8.0.9 logging Web Tier 0
S Servlet Tomcat 8.0.9 logging Web Tier 13
D JSP Anfängerfrage - Ändern von JSP / Tomcat Web Tier 4
R Tomcat 7 und SSL Web Tier 3
J JSP Web Applikation auf virtuellem Tomcat Server Web Tier 1
T JSF in Eclipse mit Tomcat Web Tier 0
S JSF Tomcat in Eclipse einbinden (JSF) Web Tier 0
G Magnolia CMS - jedes mal Tomcat restart Web Tier 7
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
M tomcat anwendungsabhängige konfigdateien Web Tier 6
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
C Tomcat wirft keine ViewExpiredException Web Tier 8
C Tomcat + Eclipselink = NotSerializable Exception? Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
A Servlet File Upload funktioniert nur lokal auf Entwicklungsrechner, nicht in Tomcat Web Tier 5
T Tomcat mit Servlets Problem Web Tier 7
B JSF JSF1.1 @Tomcat 5.5 für ein neues Projekt Web Tier 18
P JSF Umgebungsvariablen bei Tomcat-Start setzen Web Tier 4
D Tomcat/Struts2 Benutzer bestimmt Name der URL Web Tier 2
T Tomcat: Packete dynamisch auslesen und Klassen erzeugen Web Tier 3
S Servlet Problem mit Tomcat Web Tier 3
M Classpath für JPA in Tomcat Webapp: Wie konfigurieren? Web Tier 4
reibi Tomcat : Änderbare Config-Files Web Tier 5
reibi Servlet Tomcat : Display name und version setzen Web Tier 3
JCODA Tomcat ohne Fenster starten Web Tier 5
P Eclipse zeigt Errors an, die auf Tomcat nicht auftreten Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
L Services in Tomcat einbinden? Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
N JSP org.apache.tomcat cannot be resolved to a type InstanceManager cannot be resolved to a type Web Tier 4
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
M Geschwindigkeit von Tomcat / JavaWebanwendungen Web Tier 3
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
F No Factories configured for this Application - Myfaces mit Tomcat Web Tier 1
T jsf Tobago in Tomcat classpath aufnehmen Web Tier 2
A Beispiel wirft Fehler. JSF 2.0 / Tomcat / Eclipse Web Tier 2
J Tomcat-Server mit JSF auf Eclipse einrichten Web Tier 7
F umzug von tomcat 4 auf tomcat 6 Web Tier 2
J tomcat webapp restarten Web Tier 2
ruutaiokwu tomcat autodeploy Web Tier 7
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
T Tomcat-Projektverzeichnis Web Tier 13
E JSF Applikation läuft nicht über Tomcat Web Tier 3
F JApplet in Tomcat-Umgebung funktioniert mal wieder nicht ... Web Tier 8
T Tomcat, JSP, UTF-8 und URL-Codierung Web Tier 4
A Hat Tomcat einen Cache? Web Tier 5
S Tomcat Heap Memory erhoehen..? Web Tier 4
I Rich Faces nur mit JBoss oder auch Tomcat? Web Tier 7
S Tomcat / Eclipse Probleme Web Tier 2
T Tomcat Projekt ohne Eclipse starten Web Tier 11
A Tomcat - JSP läuft nicht Web Tier 2
reibi access.log in Tomcat ... ist das möglich? Web Tier 2
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat - JSP ausführen Web Tier 8
M Tomcat - Mehrere Verzeichnisse für die jsp Web Tier 12
thE_29 Tomcat - Applications(Context) bekommen Web Tier 19
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
T Hibernate, Debuggingparameter Tomcat Web Tier 3
A JDBC in Tomcat einbinden Web Tier 3
P Tomcat funktioniert nicht so wie er sollte Web Tier 11
C Tomcat total memory Web Tier 11
C Apache-Tomcat Web Tier 13
F ssl, tomcat und jsp anwendungen Web Tier 5
G Tomcat 4.1 Experimente 8) Web Tier 3
S Tomcat JSP context.xml - Standartpfad einstellen Web Tier 3
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
jann Tomcat und Kompression Web Tier 9
Q tomcat konfiguration - rewrite Web Tier 3
A TomCat will nicht - Wieso? Web Tier 5
Q Auth. per Tomcat Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2
G Probleme mit Tomcat Web Tier 14
G Tomcat findet angeblich die Datei nicht. Web Tier 8
J Tomcat - web.xml und package . Web Tier 4
L JSP Tomcat Login Web Tier 6
U Java Application auf Tomcat Web Tier 5
Y JSF - Exception bei Tomcat Start Web Tier 4
O Source-Code vom Tomcat kompilieren lassen Web Tier 6

Ähnliche Java Themen

Neue Themen


Oben