User: fleury  
  Date: 00/05/22 22:35:24

  Modified:    src/main/org/jboss/ejb ContainerFactory.java
  Log:
  The default configuration for the containers both for session and entity
  
  Revision  Changes    Path
  1.4       +50 -10    jboss/src/main/org/jboss/ejb/ContainerFactory.java
  
  Index: ContainerFactory.java
  ===================================================================
  RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/ejb/ContainerFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ContainerFactory.java     2000/05/19 07:34:31     1.3
  +++ ContainerFactory.java     2000/05/23 05:35:24     1.4
  @@ -59,7 +59,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.3 $
  + *   @version $Revision: 1.4 $
    */
   public class ContainerFactory
      implements ContainerFactoryMBean, MBeanRegistration
  @@ -158,9 +158,24 @@
                     
                     ContainerConfiguration conf = 
jar.getContainerConfigurations().getContainerConfiguration(bean.getConfigurationName());
                     
  -                  
con.setContainerInvoker((ContainerInvoker)cl.loadClass(conf.getContainerInvoker()).newInstance());
  -                  
con.setInstancePool((InstancePool)cl.loadClass(conf.getInstancePool()).newInstance());
  -//                  
con.setTransactionManager((TransactionManager)cl.loadClass(conf.getTransactionManager()).newInstance());
  +                  // MF FIXME: We need to move this in the "conf" eventually that 
it comes with defaults
  +                  try {
  +                    
  +                       
con.setContainerInvoker((ContainerInvoker)cl.loadClass(conf.getContainerInvoker()).newInstance());
  +                       
con.setInstancePool((InstancePool)cl.loadClass(conf.getInstancePool()).newInstance());
  +                  }
  +                  catch (Exception e) {
  +                    
  +                       // Something went wrong probably a configuration problem
  +                       log.log("Warning, Configuration Exception encountered, going 
to default configuration!"); 
  +                       
  +                       // Set the defaults for the stateless beans
  +                       con.setContainerInvoker(
  +                           (ContainerInvoker) 
cl.loadClass("JRMPContainerInvoker").newInstance());
  +                       con.setInstancePool(
  +                           (InstancePool) 
cl.loadClass("StatelessSessionInstancePool").newInstance());    
  +                  }
  +//                
con.setTransactionManager((TransactionManager)cl.loadClass(conf.getTransactionManager()).newInstance());
                     con.setTransactionManager(new org.jboss.tm.TxManager());
                     
                     containers.add(con);
  @@ -182,15 +197,40 @@
                     con.setClassLoader(new BeanClassLoader(cl));
                     con.setMetaData(bean);
                     
  -                  
con.setContainerInvoker((ContainerInvoker)cl.loadClass(conf.getContainerInvoker()).newInstance());
  -                  
((EntityContainer)con).setInstanceCache((InstanceCache)cl.loadClass(conf.getInstanceCache()).newInstance());
  -                  
con.setInstancePool((InstancePool)cl.loadClass(conf.getInstancePool()).newInstance());
  -                  
((EntityContainer)con).setPersistenceManager((EntityPersistenceManager)cl.loadClass(conf.getPersistenceManager()).newInstance());
  -
  -//                  
con.setTransactionManager((TransactionManager)cl.loadClass(conf.getTransactionManager()).newInstance());
  +                  // MF FIXME: We need to move this in the "conf" eventually that 
it comes with defaults
  +                  try {
  +                  
  +                      
con.setContainerInvoker((ContainerInvoker)cl.loadClass(conf.getContainerInvoker()).newInstance());
  +                      
((EntityContainer)con).setInstanceCache((InstanceCache)cl.loadClass(conf.getInstanceCache()).newInstance());
  +                      
con.setInstancePool((InstancePool)cl.loadClass(conf.getInstancePool()).newInstance());
  +                      
((EntityContainer)con).setPersistenceManager((EntityPersistenceManager)cl.loadClass(conf.getPersistenceManager()).newInstance());
  +                  }
  +                  catch (Exception e) {
  +                       
  +                       // Something went wrong probably a configuration problem
  +                       log.log("Warning, Configuration Exception encountered, going 
to default configuration!"); 
  +                       
  +                       // Set the defaults for the entity beans
  +                       con.setContainerInvoker(
  +                           (ContainerInvoker) 
cl.loadClass("JRMPContainerInvoker").newInstance());
  +                       ((EntityContainer)con).setInstanceCache(
  +                           (InstanceCache) 
cl.loadClass("RandomEntityInstanceCache").newInstance());
  +                       con.setInstancePool(
  +                           (InstancePool) 
cl.loadClass("EntityInstancePool").newInstance());
  +                       if (((jBossEntity) 
bean).getPersistenceType().equals("Bean")) {
  +                           ((EntityContainer)con).setPersistenceManager(
  +                               (EntityPersistenceManager) 
cl.loadClass("BMPPersistenceManager").newInstance());
  +                       }
  +                       else { // The bean is CMP
  +                           ((EntityContainer)con).setPersistenceManager(
  +                               (EntityPersistenceManager) 
cl.loadClass("CMPFilePersistenceManager").newInstance());
  +                       }
  +                  }
  +//                
con.setTransactionManager((TransactionManager)cl.loadClass(conf.getTransactionManager()).newInstance());
                                  con.setTransactionManager(new 
org.jboss.tm.TxManager());
                     
                     containers.add(con);
  +                  
               }
               
               if (con != null)
  
  
  

Reply via email to