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