[JSF] Lifecycle Methode wird mehrfach aufgerufen

Deadalus

Bekanntes Mitglied
Hallo,

ich habe ein sehr seltsames Problem mit meinen Managed Beans. Alle Beans mit Session Scope besitzen eine Methode, die mit der Annotation @PreDestroy aufgerufen wird. Die Methoden brauche ich um externe Resourcen freizugeben.

Ich bekam allerdings immer Exceptions, das die Resourcen schon entfernt seien. Nach etwas herumexperimentieren hab ich herausgefunden, das die @PreDestroy Methoden meiner Beans immer 2 mal direkt hintereinander nach dem Ausloggen aufgerufen werden.

Bei Aufruf Nr.1 werden meine Resourcen ordnungsgemäß freiegeben aber beim 2. Mal knallt es natürlich. Durch Tests habe ich auch herausgefunden, das es nicht etwas 2 Instanzen der Beans gibt sondern wirklich eine Instanz direkt 2 mal hintereinander diese Methode aufruft.

Hat jemand eine Idee warum das so ist oder kann dieses Verhalten nachvollziehen?

Oh bevor jemand auf die Idee kommt: Ich rufe diese Methoden natürlich nicht! innerhalb meines Codes auf, da die Methoden automatisch ausgeführt werden bevor das Bean entfernt wird.
 
Zuletzt bearbeitet:

Deadalus

Bekanntes Mitglied
Oh eine Antwort damit hab ich gar nicht mehr gerrechnet. Ich benutze aktuell Mojarra 1.2. Es handelt sich um ein vollständiges JEE - Projekt mit Glassfish v. 2 als Server
 

dronox

Mitglied
Hi,

versuche spaßeshalber mal auf MyFaces umzusteigen und zu schauen, ob der Fehler genauso auftritt. Wenn er wieder auftritt, ist es wahrscheinlich ein Fehler bei der Konfiguration, wenn nicht, ist es ein Fehler der Sun-Implementierung.

Gruß
 

Deadalus

Bekanntes Mitglied
So das spaßeshalber umsteigen war aufwendiger als gedacht, da meine Loginseite in der ich wegen meines Login über einen JAAS Realm eine gewöhnliche HTML Form verwenden muss. Apache MyFaces weigerte sich natürlich diese zu benutzen... Naja ich habs irgendwie hinbekommen.

Auf jeden Fall ist jetzt natürlich wieder der Fall eingetroffen, mit dem ich am wenigsten gerechnet habe:

Die @PreDestroy Lifecycle Methoden wird jetzt einfach überhaupt nicht mehr aufgerufen.:bahnhof:
Ansonsten verhält sich die Anwendung aber normal. Die @PostCreate Lifecycle Methoden der Beans werden auch anstandslos ausgeführt.

Hat jemand ne Vermutung?

Edit: Ich hab das ganze jetzt mal noch zum "Spaß" mit Glassfish 3 als JSF 2.0 Anwendung laufen lassen. Dort werden alle @PreDestroy Methoden wieder 2 mal aufgerufen.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
W JSF Lifecycle abbrechen? Web Tier 17
F RichFaces: JSF-Lifecycle / Validierung Web Tier 2
S Button klick soll Java methode aufrufen Web Tier 2
M JSF JSF: Methode bei versteckt aufrufen & Parameter übergeben Web Tier 6
R get-methode der Managed-Bean wird immer 3 mal ausgeführt Web Tier 4
Joew0815 Spring Handle All Requests Methode Web Tier 1
M rendered ruft eine Methode auf, andere aber nicht Web Tier 15
V Mittels JavaScript Methode aufrufen Web Tier 23
M JSF Button - Methode wird nicht aufgerufen Web Tier 4
K JSF Unified-EL- Methode mit Parameterübergabe Web Tier 9
F NullPointerException auf validator methode Teil2? Web Tier 2
B JSF NullPointerException auf validator methode Web Tier 7
P Mit EL Parameter an Methode übergeben Web Tier 5
I Im PhaseListener Service Methode aufrufen Web Tier 21
J JSF Datatable bestimmte Methode Web Tier 4
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
M JSF: Bei Seitenaufruf eine Methode starten Web Tier 15
H JSF - Methode kann nicht aufgerufen werden Web Tier 5
M Body onUnload Java Methode aufrufen Web Tier 13
K bean methode von jslt aufrufen Web Tier 7
D <html:select> bzw. <html:option> - Methode auslösen ? Web Tier 2
F Problem mit der Methode request.getRemotePort() Web Tier 2
D Methode bei Server Startup ausführen Web Tier 2
E Methode einer Bean aus anderer Bean aufrufen Web Tier 10
S JSF: Methode mit Parametern aufrufen Web Tier 7
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
G Mit JSTL Rückgabe von Bean Methode ausgeben Web Tier 3
G in validate methode auf form objekte zugreifen Web Tier 3
A Action-Methode soll Ausgabe auf der Responsepage steuern Web Tier 4
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9
L Set<T> Attribut eines Objektes wird zu null in thymeleaf Web Tier 2
C JSP data wird nicht angezeigt Web Tier 6
jann Servlet Bei jedem Request wird eine neue Session erstellt. Web Tier 6
P JSF (Primefaces) SelectOneMenu Value auf Array wird nicht gesetzt Web Tier 0
W Tabelle wird nicht aktualisiert Web Tier 8
A JSF String wird nicht angezeigt Web Tier 2
S JSF CSS wird gefunden aber inhaltlich nicht angewendet Web Tier 2
R JSF ManagedProperty wird nicht erstellt Web Tier 1
G JSF Radio Button ValueChangeListener Wert wird nicht übernommen Web Tier 2
M fileUploadListener geht nicht wenn Element zur Laufzeit gerendert wird Web Tier 2
T JSF Primefaces beim öffnen eines p:dialog wird eine neue View ManagedBean erstellt Web Tier 2
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
F JSF CSS Verschachtelung wird nicht abgebildet Web Tier 2
F.S.WhiTeY Servlet Servlet wird nicht angesprochen Web Tier 3
D JSF a4j:support wird nicht gefunden Web Tier 2
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
T JSF wird nicht ausgeführt Web Tier 4
aze JSF CommandButton:Action wird nicht ausgeführt Web Tier 2
H JSF ActionListener wird ausgeführt, aber ändert den Wert nicht. Web Tier 7
L JSF Beispiel wird nicht ausgeführt Web Tier 2
T JSF Eigener Converter wird nur für Eingabekomponenten aufgerufen? Web Tier 3
L einfache JSF-Seite wird nicht angezeigt Web Tier 8
B JSF HtmlCommandButton --- Action wird nicht aufgerufen Web Tier 2
N JSF [Maven] Seam 2.2, Richfaces 3.3 - a4j wird nicht umgewandelt Web Tier 6
P JSF AJAX render wird nicht ausgeführt Web Tier 4
X Seite wird mit AJAX neu geladen Web Tier 4
P Servlet wird nicht gefunden - HTTP Error 503 Web Tier 7
S JSF Primefaces Thema, Css wird geladen, nur die Bilder nicht, bzw Resource wird nicht aufgelöst Web Tier 5
borobudur Servlet Business-Logik wird bei jedem Request neu erstellt Web Tier 13
J JSF JSF2.0 template wird nicht gerendert!? Web Tier 2
C GWT: RPC wird nicht gefunden Web Tier 3
I Beim zurück-Link wird immer ein Request ausgeführt Web Tier 5
E JSP ist es noch aktuell oder wird heute was anderes genutzt? Web Tier 3
J JSF Custom Component ValueExpression wird nur als String erkannt Web Tier 2
E init() wird mehrmals aufgerufen Web Tier 4
L [RichFaces] Applikation wird mit NullPointerException beendet Web Tier 5
E CSS wird nach RequestDispatcher.redirect nicht mehr geladen Web Tier 7
V JSF: dataTable Getter wird nie aufgerufen Web Tier 6
megachucky JSF - JSTL Library wird nicht gefunden Web Tier 4
Z Servlet Response HTTP-Status 200 wird nicht übertragen Web Tier 3
K [gelöst] JSF-Seite wird nicht angezeigt Web Tier 3
H JSF Seite wird plain angezeigt Web Tier 3
N URL bei WebApp wird immer laenger Web Tier 5
G JSP/JSF Inputtext rerender wenn Value geändert wird Web Tier 2
I servlet: init wird auch nach ServletException aufgerufen Web Tier 3

Ähnliche Java Themen

Neue Themen


Oben