Author: rmannibucau
Date: Mon Jul 23 11:18:44 2012
New Revision: 1364585

URL: http://svn.apache.org/viewvc?rev=1364585&view=rev
Log:
OPENEJB-1878 create an entitymanager at startup if a property is activated

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityManagerFactoryCallable.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityManagerFactoryCallable.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityManagerFactoryCallable.java?rev=1364585&r1=1364584&r2=1364585&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityManagerFactoryCallable.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityManagerFactoryCallable.java
 Mon Jul 23 11:18:44 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.persistence.PersistenceUnitInfoImpl;
 
 import javax.persistence.EntityManagerFactory;
@@ -25,6 +26,8 @@ import java.util.Map;
 import java.util.concurrent.Callable;
 
 public class EntityManagerFactoryCallable implements 
Callable<EntityManagerFactory> {
+    public static final String OPENEJB_JPA_INIT_ENTITYMANAGER = 
"openejb.jpa.init-entitymanager";
+
     private final String persistenceProviderClassName;
     private final PersistenceUnitInfoImpl unitInfo;
     private final ClassLoader appClassLoader;
@@ -48,6 +51,12 @@ public class EntityManagerFactoryCallabl
             properties.put("javax.persistence.validator.ValidatorFactory", new 
ValidatorFactoryWrapper());
             EntityManagerFactory emf = 
persistenceProvider.createContainerEntityManagerFactory(unitInfo, properties);
 
+            if ((unitInfo.getProperties() != null
+                    && 
"true".equalsIgnoreCase(unitInfo.getProperties().getProperty(OPENEJB_JPA_INIT_ENTITYMANAGER)))
+                    || 
SystemInstance.get().getOptions().get(OPENEJB_JPA_INIT_ENTITYMANAGER, false)) {
+                emf.createEntityManager().close();
+            }
+
             if (unitInfo.getNonJtaDataSource() != null) {
                 final ImportSql importer = new ImportSql(appClassLoader, 
unitInfo.getPersistenceUnitName(), unitInfo.getNonJtaDataSource());
                 if (importer.hasSomethingToImport()) {


Reply via email to