Author: curtisr7
Date: Tue Jun 15 14:04:26 2010
New Revision: 954891
URL: http://svn.apache.org/viewvc?rev=954891&view=rev
Log:
OPENJPA-1692: Clean up extra initialization from PersistenceProviderImpl.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheManagerImpl.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/RuntimeTest1.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheManagerImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheManagerImpl.java?rev=954891&r1=954890&r2=954891&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheManagerImpl.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/datacache/DataCacheManagerImpl.java
Tue Jun 15 14:04:26 2010
@@ -57,14 +57,17 @@ public class DataCacheManagerImpl
public void initialize(OpenJPAConfiguration conf, ObjectValue dataCache,
ObjectValue queryCache) {
_conf = conf;
- _queryCache = (QueryCache) queryCache.instantiate(QueryCache.class,
conf);
- if (_queryCache != null)
- _queryCache.initialize(this);
- _cache = (DataCache) dataCache.instantiate(DataCache.class, conf);
-
- if (_cache == null)
- return;
-
+ try {
+ _queryCache = (QueryCache)
queryCache.instantiate(QueryCache.class, conf);
+ if (_queryCache != null)
+ _queryCache.initialize(this);
+ _cache = (DataCache) dataCache.instantiate(DataCache.class, conf);
+
+ if (_cache == null)
+ return;
+ } catch (Exception cnfe) {
+ System.err.println("Caught a cnfe upon creation of the " +
DataCacheManagerImpl.class.getName());
+ }
// create helpers before initializing caches
if (conf.getDynamicDataStructs())
_pcGenerator = new DataCachePCDataGenerator(conf);
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java?rev=954891&r1=954890&r2=954891&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPessimisticLocking.java
Tue Jun 15 14:04:26 2010
@@ -39,6 +39,9 @@ import org.apache.openjpa.persistence.co
import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
import java.util.concurrent.locks.ReentrantLock;
+
+import javax.persistence.LockModeType;
+
import org.apache.openjpa.persistence.OpenJPAEntityManager;
import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
import org.apache.openjpa.persistence.jdbc.FetchMode;
@@ -86,8 +89,10 @@ public class TestPessimisticLocking exte
public void setUp() throws Exception {
super.setUp(RuntimeTest1.class, RuntimeTest2.class,
RuntimeTest3.class);
- Map propsMap = new HashMap();
- propsMap.put("openjpa.LockManager", "pessimistic");
+ Map<String,String> propsMap = new HashMap<String,String>();
+// propsMap.put("openjpa.LockManager", "pessimistic");//<property
name="openjpa.jdbc.TransactionIsolation" value="read-committed" />
+ propsMap.put("openjpa.jdbc.TransactionIsolation", "read-committed");
+// propsMap.put("openjpa.Log", "DefaultLevel=trace");
_factory = getEmf(propsMap);
OpenJPAEntityManager pm = getLockingPM();
@@ -109,10 +114,15 @@ public class TestPessimisticLocking exte
}
}
+ public void test() throws Exception {
+ OpenJPAEntityManager em = getLockingPM();
+// em.createQuery("select c from RuntimeTest1 c where
1=1").getResultList();
+ em.createNamedQuery("asdf").getResultList();
+ }
/**
* Test that pessimistic locking is working in the data store.
*/
- public void testPessimisticLocking() throws Throwable {
+ public void atestPessimisticLocking() throws Throwable {
pessimisticLockingTest(false);
}
@@ -121,7 +131,7 @@ public class TestPessimisticLocking exte
* test will validate that the test case itself is working correctly, not
* that the datastore's pessimistic locking is working.
*/
- public void testPessimisticLockingInternal() throws Throwable {
+ public void atestPessimisticLockingInternal() throws Throwable {
pessimisticLockingTest(true);
}
@@ -274,3 +284,4 @@ public class TestPessimisticLocking exte
}
}
+
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/RuntimeTest1.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/RuntimeTest1.java?rev=954891&r1=954890&r2=954891&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/RuntimeTest1.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/RuntimeTest1.java
Tue Jun 15 14:04:26 2010
@@ -30,6 +30,8 @@ import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
+import javax.persistence.LockModeType;
+import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@@ -44,6 +46,7 @@ import javax.persistence.Version;
* @author Abe White
*/
@Entity
+...@namedquery(name="asdf",query="select c from RuntimeTest1 c where 1=1")
@Table(name = "rtest1")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class RuntimeTest1 implements Serializable {
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java?rev=954891&r1=954890&r2=954891&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
(original)
+++
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceProviderImpl.java
Tue Jun 15 14:04:26 2010
@@ -102,9 +102,6 @@ public class PersistenceProviderImpl
// Create appropriate LifecycleEventManager
loadValidator(factory);
- // Perform post BrokerFactory initialization.
- postBrokerFactoryInitialization(factory);
-
return JPAFacadeHelper.toEntityManagerFactory(factory);
} catch (Exception e) {
if (_log != null) {
@@ -199,9 +196,6 @@ public class PersistenceProviderImpl
// Create appropriate LifecycleEventManager
loadValidator(factory);
- // Perform post BrokerFactory initialization.
- postBrokerFactoryInitialization(factory);
-
return JPAFacadeHelper.toEntityManagerFactory(factory);
} catch (Exception e) {
throw PersistenceExceptions.toPersistenceException(e);
@@ -248,33 +242,7 @@ public class PersistenceProviderImpl
protected OpenJPAConfiguration newConfigurationImpl() {
return new OpenJPAConfigurationImpl();
}
-
- /**
- * Private worker method that will perform initialization that needs to
happen AFTER BrokerFactory creation.
- */
- private void postBrokerFactoryInitialization(BrokerFactory factory){
- // We need to wait to preload until after we get back a fully
configured/instantiated
- // BrokerFactory. This is because it is possible that someone has
extended OpenJPA
- // functions and they need to be allowed time to configure themselves
before we go off and
- // start instantiating configurable objects
(ie:openjpa.MetaDataRepository). Don't catch
- // any exceptions here because we want to fail-fast.
- OpenJPAConfiguration conf = factory.getConfiguration();
- Options o =
Configurations.parseProperties(Configurations.getProperties(conf.getMetaDataRepository()));
- if (MetaDataRepository.needsPreload(o) == true) {
- MetaDataRepository mdr = conf.getMetaDataRepositoryInstance();
- mdr.setValidate(MetaDataRepository.VALIDATE_RUNTIME, true);
- mdr.setResolve(MetaDataRepository.MODE_MAPPING_INIT, true);
-
- // Load persistent classes and hook in subclasser
- ((AbstractBrokerFactory)
factory).loadPersistentTypes((ClassLoader) AccessController
- .doPrivileged(J2DoPrivHelper.getContextClassLoaderAction()));
- mdr.preload();
- }
-
- // Get a DataCacheManager instance up front to avoid threading
concerns on first call.
- conf.getDataCacheManagerInstance();
- }
-
+
/**
* Java EE 5 class transformer.
*/