Frage zu Mehrbenutzerfähigkeit/Timeout

ceene

Erfahrenes Mitglied
Hallo alle zusammen

Ich habe da mal eine allgemeine Frage zu Stateful-Session-Beans.
Ich habe in meinem Projekt mehrere SessioBeans mit jeweils einer Connection zu einer Oracle-Datenbank. Mit der Connection sperre ich gelgentlich einen Datensatz in der Datenbank. Das funktioniert auch alles super und genau so wie es soll, leider hat sich nur ein kleines Problem herausgestellt. Ich hoffe ihr könnt mir da helfen.

Wenn ich nun einen Datensatz gesperrt habe und der Session-Timeout einsetzt so möchte ich die Connection gerene noch schließen. Leider weiß ich nicht wo ich das machen kann. Gibt es denn generell die Möglichkeit vor dem Timeout die Connection im Bean direkt zu schließen?

Zur Zeit mache ich das über eine Klasse die dann vor dem Timeout ausgeführt wird, leider musste ich die Connection daraufhin auf static setzen, damit sie ohne Fehler geschlossen wird, was aber nicht korrekt ist. Gibt es bei EJB3 nicht eine Methode oder Funktion oder Annotation mit der ich vor dem Timeout noch die Connection schließen kann?
 
Wie wärs mit einer mit @PreDestroy annotierten Methode? Die StatefulSessionBean Instanz wird ja weggeräumt, wenn sie nicht mehr benötigt wird und davor halt diese Methode gerufen, in der du prima aufräumen kannst.

Gruß
Ollie
 
Kann ich die Annotation über jede Methode meiner Wahl schreiben oder gibt es da Einschränkungen wo ich drauf achten muss?
 

Neue Beiträge

Zurück