下面列出了javax.persistence.EntityManagerFactory#isOpen ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static void close() throws Exception {
try {
if (instance != null) {
for (EntityManagerFactory emf : instance.entityManagerFactoryMap.values()) {
if (emf.isOpen()) {
emf.close();
}
}
instance.entityManagerFactoryMap.clear();
instance.checkPersistFieldMap.clear();
instance.checkRemoveFieldMap.clear();
}
/* 注销驱动程序 */
Enumeration<Driver> drivers = DriverManager.getDrivers();
while (drivers.hasMoreElements()) {
Driver driver = drivers.nextElement();
DriverManager.deregisterDriver(driver);
}
/* 由于可能重新载入 */
instance = null;
} catch (Exception e) {
throw new Exception("close error.", e);
}
}
/**
*
*/
public void fill() throws JRException
{
long start = System.currentTimeMillis();
// create entity manager factory for connection with database
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu1", new HashMap<Object, Object>());
EntityManager em = emf.createEntityManager();
try
{
Map<String, Object> parameters = getParameters(em);
JasperFillManager.fillReportToFile("build/reports/JRMDbReport.jasper", parameters);
em.close();
System.err.println("Filling time : " + (System.currentTimeMillis() - start));
}
finally
{
if (em.isOpen())
em.close();
if (emf.isOpen())
emf.close();
}
}
public void setUp() throws Exception {
super.setUp();
final EntityManagerFactory emf = getEntityManagerFactory();
if (emf == null || !emf.isOpen() || lastTestClass != getClass()) {
setEntityManagerFactory(createEntityManagerFactory());
lastTestClass = getClass();
}
}