This week's book giveaway is in the Design forum.
We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!
See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Question about thread safe of EntityManager

 
Mellon Sun
Ranch Hand
Posts: 126
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"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?
 
Christophe Verré
Sheriff
Posts: 14691
16
Eclipse IDE Ubuntu VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic