Ich entwickle eine Webanwendung (mit JBoss und Icefaces), die einen Servlet verwendet, um eine Excel- oder PDF-Datei zu erstellen und sie an den Browser zu senden.
Aber ich habe Leistungsprobleme, nachdem das Servlet aufgerufen wurde, was zu einem konstant hohen (~50%) CPU-Verbrauch des Browsers führt. Getestet in Firefox und Internet Explorer auf verschiedenen Maschinen. Die hohe CPU-Auslastung tritt mit etwas Verzögerung (eine halbe Minute) nach dem Aufruf des Servlets auf und bleibt hoch (bis ich den Browser schließe oder die Seite neu lade). Ob ich die erstellte Datei herunterlade oder direkt öffne, macht keinen Unterschied.
Ich bin ratlos, wie das passieren kann...
Gibt es eine Möglichkeit, den Browser zu analysieren/debuggen, um herauszufinden, was den CPU-Verbrauch verursacht?
UPDATE:
Ich habe herausgefunden, dass dies definitiv mit der Icefaces-Webanwendung zusammenhängt. Wenn ich meinen direkten HTML-Link zu meinem Servlet durch einen JavaScript-Aufruf ersetze, der das Servlet in einem neuen Fenster öffnet (mit window.open), kann ich die erstellte Datei ohne Probleme herunterladen.
Auch wenn ich mich innerhalb meiner Anwendung abmelde, geht die CPU-Auslastung wieder auf normalen Stand zurück!
UPDATE:
Jetzt hat mir Firebug geholfen: Nachdem das Servlet aufgerufen wurde, sehe ich in der Firebug-Konsole, dass es XMLHtppRequests jede Millisekunde gibt. Jetzt verstehe ich die CPU-Auslastung!
POST http://localhost/webapp/block/receive-updated-views
kommt immer wieder. Muss das überprüfen...
UPDATE: Ok, ich habe einen Icefaces-Thread gefunden (mit dem entsprechenden Icefaces-Jira-Bug), aber der Bugtracker besagt, dass dies bereits behoben sein sollte... irgendwie nicht für meinen Fall!