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);
   
  
  
  

Reply via email to