User: patriot1burke
  Date: 01/12/30 09:11:46

  Modified:    src/main/org/jboss/metadata BeanMetaData.java
  Log:
  Invokers now pluggable for home and bean proxies.
  Configured in jboss.xml:
  
  <home-invoker>
  <bean-invoker>
  
  Revision  Changes    Path
  1.32      +76 -3     jboss/src/main/org/jboss/metadata/BeanMetaData.java
  
  Index: BeanMetaData.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/metadata/BeanMetaData.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- BeanMetaData.java 2001/11/26 03:17:47     1.31
  +++ BeanMetaData.java 2001/12/30 17:11:46     1.32
  @@ -30,19 +30,23 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>.
    * @author <a href="mailto:[EMAIL PROTECTED]";>Ole Husgaard</a> 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Bill Burke</a> 
  - * @version $Revision: 1.31 $
  + * @version $Revision: 1.32 $
    *
    *  <p><b>Revisions:</b><br>
    *  <p><b>2001/10/16: billb</b>
    *  <ol>
    *   <li>Added clustering tags
    *  </ol>
  + *  <p><b>2001/12/30: billb</b>
  + *  <ol>
  + *   <li>made home and bean invokers pluggable
  + *  </ol>
    */
   public abstract class BeanMetaData
      extends MetaData
   {
      // Constants -----------------------------------------------------
  -
  +   
      public static final char SESSION_TYPE = 'S';
      public static final char ENTITY_TYPE = 'E';
      public static final char MDB_TYPE = 'M';
  @@ -99,6 +103,16 @@
      private ArrayList transactionMethods = new ArrayList();
      /** The assembly-descriptor/exclude-list method(s) */
      private ArrayList excludedMethods = new ArrayList();
  +   /** what JRMP invokers do we use? **/
  +   private String homeInvoker = null;
  +   private String beanInvoker = null;
  +   public static final String DEFAULT_HOME_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmp";
  +   public static final String DEFAULT_BEAN_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmp";
  +   public static final String DEFAULT_CLUSTERED_HOME_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmpha,partition=DefaultPartition,load-balance=RoundRobin";
  +   public static final String DEFAULT_CLUSTERED_SLSB_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmpha,partition=DefaultPartition,load-balance=RoundRobin";
  +   public static final String DEFAULT_CLUSTERED_SFSB_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmpha,partition=DefaultPartition,load-balance=FirstAvailable";
  +   public static final String DEFAULT_CLUSTERED_EB_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmpha,partition=DefaultPartition,load-balance=FirstAvailable";
  +   public static final String DEFAULT_CLUSTERED_BEAN_INVOKER = 
"JBOSS-SYSTEM:service=invoker,type=jrmpha,partition=DefaultPartition,load-balance=FirstAvailable";
      /** The cluster-config element info */
      private ClusterConfigMetaData clusterConfig = null;
   
  @@ -150,6 +164,10 @@
      public Iterator getEjbReferences() { return ejbReferences.values().iterator(); }
           
      public Iterator getEjbLocalReferences() { return 
ejbLocalReferences.values().iterator(); }
  +
  +   public String getHomeInvoker() { return homeInvoker; }
  +
  +   public String getBeanInvoker() { return beanInvoker; }
        
      public EjbRefMetaData getEjbRefByName(String name)
      {
  @@ -477,16 +495,71 @@
            ejbRefMetaData.importJbossXml(ejbRef);
         }
         
  +      // Has a custom invoker been defined?
  +      //
  +      homeInvoker = getElementContent(getOptionalChild(element, "home-invoker"));
  +      beanInvoker = getElementContent(getOptionalChild(element, "bean-invoker"));
  +
         // Determine if the bean is to be deployed in the cluster (more advanced 
config will be added in the future)
         //
         String clusteredElt = getElementContent(getOptionalChild(element, 
"clustered"), (clustered? "True" : "False"));
         clustered = clusteredElt.equals ("True");
  -      
  +
  +
         Element clusterConfigElement = getOptionalChild(element, "cluster-config");
         if (clusterConfigElement != null)
         {
            this.clusterConfig = new ClusterConfigMetaData();
            clusterConfig.importJbossXml(clusterConfigElement);
  +      }
  +
  +      // Setup default invokers for this bean
  +      if (homeInvoker == null)
  +      {
  +      if (clustered)
  +      {
  +         homeInvoker = DEFAULT_CLUSTERED_HOME_INVOKER;
  +      }
  +      else
  +      {
  +         homeInvoker = DEFAULT_HOME_INVOKER;
  +      }
  +      }
  +      if (beanInvoker == null)
  +      {
  +      if (!clustered)
  +      {
  +         beanInvoker = DEFAULT_BEAN_INVOKER;
  +      }
  +      else // Setup default clustered bean invoker
  +      {
  +         if (isEntity())
  +         {
  +            beanInvoker = DEFAULT_CLUSTERED_EB_INVOKER;
  +         }
  +         else if (isSession())
  +         {
  +            if (this instanceof SessionMetaData)
  +            {
  +               if (((SessionMetaData)this).isStateful())
  +               {
  +                  beanInvoker = DEFAULT_CLUSTERED_SFSB_INVOKER;
  +               }
  +               else
  +               {
  +                  beanInvoker = DEFAULT_CLUSTERED_SLSB_INVOKER;
  +               }
  +            }
  +            else
  +            {
  +               beanInvoker = DEFAULT_CLUSTERED_BEAN_INVOKER;
  +            }
  +         }
  +         else
  +         {
  +            beanInvoker = DEFAULT_CLUSTERED_BEAN_INVOKER;
  +         }
  +      }
         }
      }
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to