-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: threadsafe bei sessions
PostPosted: Mon Apr 14, 2008 8:55 am 
Newbie

Joined: Mon Apr 14, 2008 5:00 am
Posts: 3
meine Anwendung läuft innerhalb EJB-Framework unter App-Server Websphere 5.1, Persistierung mit Hibernate 3.2. wie mache ich meine Hibernate-Sessions threadesafe. Kann jemand mir helfen ? Vielen Dank


Top
 Profile  
 
 Post subject:
PostPosted: Mon Apr 21, 2008 4:48 pm 
Expert
Expert

Joined: Tue Nov 23, 2004 7:00 pm
Posts: 570
Location: mostly Frankfurt Germany
Die Session ist nicht thread safe und sollte es auch nicht werden.
Die SessionFactory Methoden openSession und getCurrentSession sind allerdings thread safe.

_________________
Best Regards
Sebastian
---
Training for Hibernate and Java Persistence
Tutorials for Hibernate, Spring, EJB, JSF...
eBook: Hibernate 3 - DeveloperGuide
Paper book: Hibernate 3 - Das Praxisbuch
http://www.laliluna.de


Top
 Profile  
 
 Post subject:
PostPosted: Fri May 09, 2008 8:01 am 
Newbie

Joined: Mon Apr 14, 2008 5:00 am
Posts: 3
LaLiLuna wrote:
Die Session ist nicht thread safe und sollte es auch nicht werden.
Die SessionFactory Methoden openSession und getCurrentSession sind allerdings thread safe.


Zunaechst vielen Dank fuer die Antwort. Meine frage ist noch nicht beantwortet, vielleicht habe ich mich nicht richtig ausgedrueckt. Ich habe eine EJB-anwendung mit Hibernate-Persistierung. Die anwendung kann von mehreren threads beansprucht werden. Die Frage ist, wie kann ich sicher stellen, dass die Threads, die gleichzeitig fuer die jeweiligen Datenbankzugriffe ein session-Objekt benoetigen, eigene Sessions erhalten.


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 12, 2008 8:38 am 
Pro
Pro

Joined: Tue Jun 12, 2007 4:13 am
Posts: 209
Location: Berlin, Germany
hfarhad wrote:
[Ich habe eine EJB-anwendung mit Hibernate-Persistierung. Die anwendung kann von mehreren threads beansprucht werden. Die Frage ist, wie kann ich sicher stellen, dass die Threads, die gleichzeitig fuer die jeweiligen Datenbankzugriffe ein session-Objekt benoetigen, eigene Sessions erhalten.

Wenn du EJBs (Session EJB) verwendest, ist doch deine Applikation automatisch thread-save: Standardmäßig sind EJB-Calls transaktional (container-managed). D.h. für Hibernate: es läuft a) innerhalb der EJB-Transaktion und es wird b) innerhalb dieser Transaktion eine Hibernate Session aufgemacht und bei Transaktionsende auch wieder geschlossen. Diese Transaktionen sind durch das EJB-Konzept, d.h. durch den Container automatisch voneinander isoliert. Konkurrierende Zugriffe laufen dann über das "optimistic locking" Verfahren.

Es sei denn, du verwendest Stateful EJBs und willst mit langlebigen Sessions arbeiten ("conversations"). Dann hast du deutlich mehr Aufwand; dann solltest du aber unbedingt geeignete Literatur zu Rate ziehen.

Carlo


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.