gdamour 2005/10/08 00:45:59
Modified:
modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/cmr
AbstractCMRTest.java
Log:
GERONIMO-188 Entity instance caching
o The same FrontEndCacheDelegate needs to be shared across the CMP containers.
o Add the repeatable-read isolation level.
o findByPrimaryKey also queries the cache prior to hit the database.
o Remove two redundant cache queries when retrieving CMP and CMR fields.
Revision Changes Path
1.27 +9 -4
openejb/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/cmr/AbstractCMRTest.java
Index: AbstractCMRTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/cmr/AbstractCMRTest.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- AbstractCMRTest.java 10 Sep 2005 14:49:08 -0000 1.26
+++ AbstractCMRTest.java 8 Oct 2005 04:45:59 -0000 1.27
@@ -91,6 +91,8 @@
import org.openejb.xbeans.ejbjar.OpenejbOpenejbJarDocument;
import org.openejb.xbeans.ejbjar.OpenejbOpenejbJarType;
import org.tranql.cache.GlobalSchema;
+import org.tranql.cache.cache.FrontEndCache;
+import org.tranql.cache.cache.FrontEndCacheDelegate;
import org.tranql.ejb.EJB;
import org.tranql.ejb.EJBSchema;
import org.tranql.ejb.TransactionManagerDelegate;
@@ -200,8 +202,10 @@
kernel.loadGBean(connectionProxyFactoryGBean,
this.getClass().getClassLoader());
kernel.startGBean(connectionProxyFactoryObjectName);
- setUpContainer(ejbSchema.getEJB("A"), getA().bean, getA().home,
getA().local, C_NAME_A, tmDelegate);
- setUpContainer(ejbSchema.getEJB("B"), getB().bean, getB().home,
getB().local, C_NAME_B, tmDelegate);
+ FrontEndCacheDelegate cacheDelegate = new
FrontEndCacheDelegate();
+
+ setUpContainer(ejbSchema.getEJB("A"), getA().bean, getA().home,
getA().local, C_NAME_A, tmDelegate, cacheDelegate);
+ setUpContainer(ejbSchema.getEJB("B"), getB().bean, getB().home,
getB().local, C_NAME_B, tmDelegate, cacheDelegate);
ahome = kernel.getAttribute(C_NAME_A, "ejbLocalHome");
bhome = kernel.getAttribute(C_NAME_B, "ejbLocalHome");
@@ -211,7 +215,7 @@
}
- private void setUpContainer(EJB ejb, Class beanClass, Class homeClass,
Class localClass, ObjectName containerName, TransactionManagerDelegate
tmDelegate) throws Exception {
+ private void setUpContainer(EJB ejb, Class beanClass, Class homeClass,
Class localClass, ObjectName containerName, TransactionManagerDelegate
tmDelegate, FrontEndCacheDelegate cacheDelegate) throws Exception {
CMPContainerBuilder builder = new CMPContainerBuilder();
builder.setClassLoader(this.getClass().getClassLoader());
builder.setContainerId(containerName.getCanonicalName());
@@ -237,6 +241,7 @@
builder.setGlobalSchema(cacheSchema);
builder.setComponentContext(new HashMap());
builder.setTransactionManagerDelegate(tmDelegate);
+ builder.setFrontEndCacheDelegate(cacheDelegate);
GBeanData container = builder.createConfiguration(containerName,
DeploymentHelper.TRANSACTIONCONTEXTMANAGER_NAME,
DeploymentHelper.TRACKEDCONNECTIONASSOCIATOR_NAME, null);