Skip to content
This repository has been archived by the owner on Jun 23, 2020. It is now read-only.

Commit

Permalink
Symmetric handling of readonly and writeable entity managers
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam Warski committed Jun 10, 2010
1 parent 36fde7a commit 3ec13df
Showing 1 changed file with 5 additions and 3 deletions.
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -15,14 +15,12 @@
* @author Adam Warski (adam at warski dot org) * @author Adam Warski (adam at warski dot org)
*/ */
public class EntityManagerProducer { public class EntityManagerProducer {
@PersistenceContext
private EntityManager entityManager;

@PersistenceUnit @PersistenceUnit
private EntityManagerFactory entityManagerFactory; private EntityManagerFactory entityManagerFactory;


@Produces @RequestScoped @Writeable @Produces @RequestScoped @Writeable
public EntityManager getEntityManager() { public EntityManager getEntityManager() {
EntityManager entityManager = entityManagerFactory.createEntityManager();
return new EntityManagerTxEnlistDecorator(entityManager); return new EntityManagerTxEnlistDecorator(entityManager);
} }


Expand All @@ -37,4 +35,8 @@ public EntityManager getReadOnlyEntityManager() {
public void disposeOfReadOnlyEntityManager(@Disposes @ReadOnly EntityManager readOnlyEntityManager) { public void disposeOfReadOnlyEntityManager(@Disposes @ReadOnly EntityManager readOnlyEntityManager) {
readOnlyEntityManager.close(); readOnlyEntityManager.close();
} }

public void disposeOfWriteableEntityManager(@Disposes @Writeable EntityManager writeableEntityManager) {
writeableEntityManager.close();
}
} }

0 comments on commit 3ec13df

Please sign in to comment.