Hello Daniel,
No the specification specifically disallows sharing an EntityManager among multiple concurrently executing threads (Section 5.2).
--Gordon
-----Original Message-----
From: Daniel Cavalcanti [mailto:dhcavalcanti_at_gmail.com]
Sent: Friday, September 01, 2006 11:13 AM
To: persistence_at_glassfish.dev.java.net
Subject: thread-safety
Hello,
Quick question: Is the EntityManager thread safe?
For example,
class Foo {
private EntityManagerFactory emf = Persistence.createEntityManagerFactory("my-persistence-unit");
private EntityManager manager = emf.createEntityManager();
// method accessed by several concurrent threads
public void foo() {
try {
manager.getTransaction().begin();
// TODO: do somethinf
manager.getTransaction().commit();
} catch(Exception e) {
manager.getTransaction().rollback();
}
}
}
thanks,
Daniel.