gdamour 2005/10/08 00:45:59
Modified:
modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/ejbql
EJBQLTest.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.18 +7 -3
openejb/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/ejbql/EJBQLTest.java
Index: EJBQLTest.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/ejbql/EJBQLTest.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- EJBQLTest.java 10 Sep 2005 14:49:08 -0000 1.17
+++ EJBQLTest.java 8 Oct 2005 04:45:59 -0000 1.18
@@ -93,6 +93,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;
@@ -220,7 +222,8 @@
kernel.loadGBean(connectionProxyFactoryGBean,
this.getClass().getClassLoader());
kernel.startGBean(connectionProxyFactoryObjectName);
- setUpContainer(ejbSchema.getEJB("A"), ABean.class, AHome.class,
ARemote.class, ALocalHome.class, ALocal.class, C_NAME_A, tmDelegate);
+ FrontEndCacheDelegate cacheDelegate = new
FrontEndCacheDelegate();
+ setUpContainer(ejbSchema.getEJB("A"), ABean.class, AHome.class,
ARemote.class, ALocalHome.class, ALocal.class, C_NAME_A, tmDelegate,
cacheDelegate);
aLocalHome = (ALocalHome) kernel.getAttribute(C_NAME_A,
"ejbLocalHome");
aHome = (AHome) kernel.getAttribute(C_NAME_A, "ejbHome");
@@ -230,7 +233,7 @@
}
- private void setUpContainer(EJB ejb, Class beanClass, Class homeClass,
Class remoteClass, Class localHomeClass, Class localClass, ObjectName
containerName, TransactionManagerDelegate tmDelegate) throws Exception {
+ private void setUpContainer(EJB ejb, Class beanClass, Class homeClass,
Class remoteClass, Class localHomeClass, Class localClass, ObjectName
containerName, TransactionManagerDelegate tmDelegate, FrontEndCacheDelegate
cacheDelegate) throws Exception {
CMPContainerBuilder builder = new CMPContainerBuilder();
builder.setClassLoader(this.getClass().getClassLoader());
builder.setContainerId(containerName.getCanonicalName());
@@ -256,6 +259,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);