Time-out Zeit für Session-Bean

fuzuli001

Mitglied
Hallo Leute,

Gibt es ein separate Time-out Zeit für Session-Bean außer Session Time-out von web.xml?

Ich habe folgendes Fall;

Um AnredeListe in einer ComboBox in der Kunden Detail Seite listen zu können, rufe ich eine Methode getAnredeList, die in eine ganz normale Statefull Bean stammdatenUtils befindet. In dieser Methode wird eine Datenbank abfrage durchgeführt.

entityManager.createQuery("SELECT a FROM Anrede a WHERE a.kunde = :kunde")
.setParameter("kunde", benutzerVerwaltung.getKunde());


Hier benutzerVerwaltung ist eine Statefull-Bean und in Session-Context gespeichert. In der Klasse Authenticator wurde Kunde von Datenbank geladen und in dieser Bean gespeichert. Also Kunde befindet jetzt in Session-Context.

Meine Session Time-out wird in der Web.xml als 30 min. gesetzt.

Nach etwa 15 min, wenn ich Detail Seite gehen will, also noch mal AnredeList abfragen will, kriege ich einen Fehler

--
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: com.mydomain.entity.Kunde
--

Ich verstehe das nicht. Kunde ist kein neues Objekt. Nach meiner wissen bekommt man dieser Fehler oft, wenn man ein Objekt mit Assoziation speichern will.

Gibt es ein separater Time-out Zeit für Session?

Beste Grüße
 

fuzuli001

Mitglied
Ich glaube, das es nicht mit Time-out zu tun. Nach 20 min ist benutzerVerwaltung Bean immer noch erreichbar. Weil es in Session befindet. Aber alle anderen EntitiyObjekten in dieser Klasse,wie aktiveBenutzer, kunde,.., auf null gesetzt.
Es ist mir bewust, dass diese EntitiyObjekten nicht mer von PersistensManager verwaltet, jadoch müssin die nicht verschinden, oder?
 

FArt

Top Contributor
Die Frage war:
Gibt es ein separate Time-out Zeit für Session-Bean außer Session Time-out von web.xml?
Die Antwort war ein Link und somit "ja".

Was ist jetzt eigentlich das wirkliche Problem? Objektreferenzen werden nicht automatisch gelöscht, frei nach dem Motto:"Eben war die Referenz doch noch da." Bist du sicher, dass es sich um die selbe Sessionbean handelt, oder um eine neue?
 

fuzuli001

Mitglied
Das Problem ist gelöst. Es war nicht mit Session Time-out sonder Passivierung von SessionBean zu tun. Nach bestimmten Zeit wird Session Bean passiviert, aber nicht mit allen Referenzen, sonder nur mit den Serialisierbaren. Da war mein Fehler.
 

Ähnliche Java Themen

Neue Themen


Oben