| Author |
Question about thread safe of EntityManager
|
Mellon Sun
Ranch Hand
Joined: Feb 20, 2003
Posts: 126
|
|
"If you're using the EntityManager API directly from a component in the web tier, we recommend that you avoid injecting entity managers because the EntityManager interface is not thread-safe. Instead, you should use a JNDI lookup to grab an instance of a container-managed EntityManager." The above paragraph is come from EJB 3 in Action, I cannot understand it very much. Is there any difference between the injected EntityManager and the JNDI lookuped EntityManager? Or it just means if injecting entity manager to a servlet, the entity manager should be an instance variable of that servlet so it is not thread safe?
|
SCJP,SCWCD1.3,SCWCD1.4,SCJD,SCBCD5,SCEA5
|
 |
Christophe Verré
Sheriff
Joined: Nov 24, 2005
Posts: 14685
|
|
|
The injected EntityManager is an instance of a servlet, so as you said, this is not thread safe. On the contrary, declaring an EntityManager locally and doing a JNDI lookup manually is thread safe.
|
[My Blog]
All roads lead to JavaRanch
|
 |
 |
|
|
subject: Question about thread safe of EntityManager
|
|
|