From 723c66ea036b5bc53ddeee0005e335cffff16a45 Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 23 Nov 2015 14:42:32 +0100 Subject: Use singleton for EntityManagerFactory --- src/beans/UserManager.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/beans/UserManager.java') diff --git a/src/beans/UserManager.java b/src/beans/UserManager.java index 190926b..36fd807 100644 --- a/src/beans/UserManager.java +++ b/src/beans/UserManager.java @@ -16,11 +16,10 @@ import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; -import javax.persistence.Persistence; import javax.persistence.Query; +import jpa.EntityManagerFactorySingleton; import jpa.User; @ManagedBean(name = "UserManager") @@ -43,9 +42,8 @@ public class UserManager && current.getPassword() != null && current.getPassword().length() > 0) { - EntityManagerFactory factory = Persistence - .createEntityManagerFactory("catalog"); - EntityManager manager = factory.createEntityManager(); + EntityManager manager = EntityManagerFactorySingleton.getInstance() + .getEntityManagerFactory().createEntityManager(); Query query = manager.createQuery( "SELECT u FROM User u where u.username = :username and u.password = :password"); query.setParameter("username", current.getUsername()); @@ -58,6 +56,8 @@ public class UserManager current = (User) results.get(0); outcome = "success"; } + + manager.close(); } // System.out.println(outcome); return outcome; @@ -97,9 +97,8 @@ public class UserManager public User getCurrent() { - EntityManagerFactory factory = Persistence - .createEntityManagerFactory("catalog"); - EntityManager manager = factory.createEntityManager(); + EntityManager manager = EntityManagerFactorySingleton.getInstance() + .getEntityManagerFactory().createEntityManager(); EntityTransaction tx = manager.getTransaction(); tx.begin(); @@ -115,6 +114,8 @@ public class UserManager tx.rollback(); } + manager.close(); + return current; } } -- cgit v1.2.3-70-g09d2