[jboss-cvs] JBossAS SVN: r69193 - in trunk/testsuite: src/main/org/jboss/test/cluster/multicfg/ejb2/test and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 22 10:36:22 EST 2008


Author: bstansberry at jboss.com
Date: 2008-01-22 10:36:21 -0500 (Tue, 22 Jan 2008)
New Revision: 69193

Added:
   trunk/testsuite/src/resources/cluster/ejb2/passexp/
   trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/
   trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/ejb-jar.xml
   trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/jboss.xml
   trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-beans.xml
   trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml
Modified:
   trunk/testsuite/imports/sections/cluster.xml
   trunk/testsuite/src/main/org/jboss/test/cluster/multicfg/ejb2/test/StatefulPassivationExpirationUnitTestCase.java
Log:
[JBAS-4997] Package StatefulPassivationActivationUnitTestCase with its own HAPartition

Modified: trunk/testsuite/imports/sections/cluster.xml
===================================================================
--- trunk/testsuite/imports/sections/cluster.xml	2008-01-22 15:29:30 UTC (rev 69192)
+++ trunk/testsuite/imports/sections/cluster.xml	2008-01-22 15:36:21 UTC (rev 69193)
@@ -509,6 +509,31 @@
          </fileset>
       </jar>
 
+      <!-- build sfsb-passexp.jar -->
+      <jar destfile="${build.lib}/sfsb-passexp.jar">
+         <fileset dir="${build.classes}">
+            <patternset refid="jboss.test.util.ejb.set"/>
+            <include name="org/jboss/test/testbean/interfaces/**"/>
+            <include name="org/jboss/test/cluster/ejb2/basic/interfaces/**"/>
+            <include name="org/jboss/test/testbean/bean/**"/>
+            <include name="org/jboss/test/cluster/ejb2/basic/bean/**"/>
+            <include name="org/jboss/test/cluster/ejb2/basic/proxy/**"/>
+            <include name="org/somepackage/**"/>
+         </fileset>
+         <fileset dir="${build.resources}/cluster/ejb2/passexp">
+            <include name="META-INF/ejb-jar.xml"/>
+            <include name="META-INF/jboss.xml"/>
+         </fileset>
+      </jar>
+   	
+   	<!-- build sfsb-passexp.sar -->
+   	<jar destfile="${build.lib}/sfsb-passexp.sar">
+         <fileset dir="${build.resources}/cluster/ejb2/passexp">
+            <include name="META-INF/partition-passexp-beans.xml"/>
+            <include name="META-INF/passexp-stacks.xml"/>
+         </fileset>
+      </jar>
+
       <jar destfile="${build.lib}/test-cif.jar">
          <fileset dir="${build.classes}">
             <include name="org/jboss/test/testbean/interfaces/AComplexPK.class"/>

Modified: trunk/testsuite/src/main/org/jboss/test/cluster/multicfg/ejb2/test/StatefulPassivationExpirationUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/multicfg/ejb2/test/StatefulPassivationExpirationUnitTestCase.java	2008-01-22 15:29:30 UTC (rev 69192)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/multicfg/ejb2/test/StatefulPassivationExpirationUnitTestCase.java	2008-01-22 15:36:21 UTC (rev 69193)
@@ -66,8 +66,8 @@
 
    public static Test suite() throws Exception
    {
-      Test t1 = JBossClusteredTestCase.getDeploySetup(StatefulPassivationExpirationUnitTestCase.class, "testbeancluster.jar");
-      return t1;
+      return JBossClusteredTestCase.getDeploySetup(StatefulPassivationExpirationUnitTestCase.class, 
+                                                   "sfsb-passexp.sar, sfsb-passexp.jar");
    }
 
    /**

Added: trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/ejb-jar.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/ejb-jar.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/ejb-jar.xml	2008-01-22 15:36:21 UTC (rev 69193)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar
+   PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
+   "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+
+<ejb-jar>
+   <enterprise-beans>
+
+      <session>
+         <description>Nextgen test bean stateful</description>
+         <ejb-name>ExpiredStatefulSession</ejb-name>
+         <home>org.jboss.test.testbean.interfaces.StatefulSessionHome</home>
+         <remote>org.jboss.test.cluster.ejb2.basic.interfaces.StatefulSession</remote>
+         <ejb-class>org.jboss.test.cluster.ejb2.basic.bean.StatefulSessionBean</ejb-class>
+         <session-type>Stateful</session-type>
+         <transaction-type>Container</transaction-type>
+      </session>
+
+   </enterprise-beans>
+   
+</ejb-jar>

Added: trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/jboss.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/jboss.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/jboss.xml	2008-01-22 15:36:21 UTC (rev 69193)
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE jboss PUBLIC
+      "-//JBoss//DTD JBOSS 3.2//EN"
+      "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
+
+<jboss>
+
+   <enterprise-beans>
+      <session>
+         <ejb-name>ExpiredStatefulSession</ejb-name>
+         <configuration-name>Test Clustered Expired Stateful SessionBean</configuration-name>
+         <invoker-bindings>
+            <invoker>
+               <invoker-proxy-binding-name>test-clustered-stateful-invoker</invoker-proxy-binding-name>
+               <jndi-name>nextgen_ExpiredStatefulSession</jndi-name>
+            </invoker>
+         </invoker-bindings>
+         <clustered>true</clustered>
+      </session>
+
+   </enterprise-beans>
+
+   <invoker-proxy-bindings>
+
+      <invoker-proxy-binding>
+         <name>test-clustered-stateful-invoker</name>
+         <invoker-mbean>jboss:service=invoker,type=unifiedha,partitionName=PassExpPartition</invoker-mbean>
+         <proxy-factory>org.jboss.proxy.ejb.ProxyFactoryHA</proxy-factory>
+         <proxy-factory-config>
+            <client-interceptors>
+               <home>
+                  <interceptor>org.jboss.ha.framework.test.ExplicitFailoverClientInterceptor</interceptor>
+                  <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor>
+                  <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
+                  <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
+                  <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
+               </home>
+               <bean>
+                  <interceptor>org.jboss.ha.framework.test.ExplicitFailoverClientInterceptor</interceptor>
+                  <interceptor>org.jboss.proxy.ejb.StatefulSessionInterceptor</interceptor>
+                  <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
+                  <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
+                  <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
+               </bean>
+            </client-interceptors>
+         </proxy-factory-config>
+      </invoker-proxy-binding>
+   </invoker-proxy-bindings>
+
+
+   <container-configurations>
+      <container-configuration extends="Clustered Stateful SessionBean">
+         <container-name>Test Clustered Expired Stateful SessionBean</container-name>
+         <call-logging>true</call-logging>
+         <container-interceptors>
+            <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
+            <interceptor>org.jboss.ha.framework.test.ExplicitFailoverServerInterceptor</interceptor> <!-- must be before CleanShutdown -->
+            <interceptor>org.jboss.ejb.plugins.CleanShutdownInterceptor</interceptor>
+            <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
+            <interceptor>org.jboss.ejb.plugins.security.PreSecurityInterceptor</interceptor>
+            <!-- CMT -->
+            <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
+            <interceptor transaction="Container">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor>
+            <!-- BMT -->
+            <interceptor transaction="Bean">org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor</interceptor>
+            <interceptor transaction="Bean">org.jboss.ejb.plugins.TxInterceptorBMT</interceptor>
+            <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interceptor>
+            <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
+            <interceptor>org.jboss.ejb.plugins.StatefulHASessionSynchronisationInterceptor</interceptor>
+         </container-interceptors>
+         <container-cache-conf>
+            <cache-policy>org.jboss.ejb.plugins.LRUStatefulContextCachePolicy</cache-policy>
+            <cache-policy-conf>
+               <min-capacity>50</min-capacity>
+               <max-capacity>1000000</max-capacity>
+               <remover-period>5</remover-period>
+               <max-bean-life>30</max-bean-life>
+               <overager-period>2</overager-period>
+               <max-bean-age>5</max-bean-age>
+               <resizer-period>1</resizer-period>
+               <max-cache-miss-period>60</max-cache-miss-period>
+               <min-cache-miss-period>1</min-cache-miss-period>
+               <cache-load-factor>0.75</cache-load-factor>
+            </cache-policy-conf>
+         </container-cache-conf>
+         <cluster-config>
+            <partition-name>PassExpPartition</partition-name>
+            <bean-load-balance-policy>org.jboss.ha.framework.interfaces.RandomRobin</bean-load-balance-policy>
+            <session-state-manager-jndi-name>/HASessionState/PassExpPartition</session-state-manager-jndi-name>
+         </cluster-config>
+      </container-configuration>
+
+   </container-configurations>
+
+</jboss>

Added: trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-beans.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/partition-passexp-beans.xml	2008-01-22 15:36:21 UTC (rev 69193)
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- Add a stack with JGroups message bundling disabled to the app server's standard JChannelFactory -->
+   <bean name="PassExpStackInjector" class="java.lang.Object">      
+      <install bean="JChannelFactory" method="setMultiplexerConfig">
+         <parameter class="java.lang.String">META-INF/passexp-stacks.xml</parameter>
+         <parameter>true</parameter>
+      </install>
+   </bean> 
+   
+   <!-- 
+        The HAPartitionCache instance defined here is shared by JBoss cluster services that
+        use JBossCache as their underlying data store.  Currently the services that share this 
+        cache are HAJNDI and DistributedState.  It is possible to change the cluster name but this 
+        isn't recommended since it will be more difficult for others to recognize that the renamed 
+        cluster is the one used by JBoss cluster services.  
+   -->
+   
+   <!-- First we create a Configuration object for the cache -->
+   <bean name="PassExpPartition-HAPartitionCacheConfig" 
+   		class="org.jboss.cache.config.Configuration">
+        
+        <depends>PassExpStackInjector</depends>
+        
+        <!-- Externally injected services -->  
+        <property name="runtimeConfig">
+           <bean name="PassExpPartition-HAPartitionCacheRuntimeConfig" class="org.jboss.cache.config.RuntimeConfig">
+              <property name="transactionManager"><inject bean="jboss:service=TransactionManager" property="TransactionManager"/></property>
+              <property name="muxChannelFactory"><inject bean="JChannelFactory"/></property>
+           </bean>
+        </property>
+        
+        <!-- We use the "no-bundling" stacks previously injected into our JChannelFactory -->
+        <property name="multiplexerStack">passexp-${jboss.multiplexer.stack:udp}</property>
+
+        <!-- Valid isolation levels are 
+                              SERIALIZABLE
+                              REPEATABLE_READ (default)
+                              READ_COMMITTED
+                              READ_UNCOMMITTED
+                              NONE
+        -->
+        <property name="isolationLevelString">REPEATABLE_READ</property>
+
+        <!-- Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC -->
+        <property name="cacheModeString">REPL_SYNC</property>
+
+        <!-- Name of cluster. Needs to be the same for all nodes in clusters, 
+          in order to find each other -->
+        <property name="clusterName">PassExpPartition-HAPartitionCache</property>
+
+        <!-- Whether or not to fetch state on joining a cluster  -->
+        <property name="fetchInMemoryState">true</property>
+
+        <!-- The max amount of time (in milliseconds) we wait until the
+            initial state (ie. the contents of the cache) are retrieved from
+            existing members in a clustered environment -->
+        <property name="stateRetrievalTimeout">5000</property>
+
+        <!-- Number of milliseconds to wait until all responses for a
+            synchronous call have been received. -->
+        <property name="syncReplTimeout">20000</property>
+
+        <!-- Max number of milliseconds to wait for a lock acquisition -->
+        <property name="lockAcquisitionTimeout">15000</property>
+        
+        <property name="exposeManagementStatistics">true</property>
+
+    </bean>
+    
+   <!-- Add a handle to the cache to JMX -->
+   <bean name="PassExpPartition-HAPartitionCache" class="org.jboss.cache.jmx.CacheJmxWrapper">
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=HAPartitionCache,partitionName=PassExpPartition", exposedInterface=org.jboss.cache.jmx.CacheJmxWrapperMBean.class, registerDirectly=true)</annotation>
+      
+      <property name="configuration"><inject bean="PassExpPartition-HAPartitionCacheConfig"/></property>
+        
+   </bean>
+
+   <!-- ==================================================================== -->
+   <!-- DistributedState Service, a legacy wrapper around JBoss Cache        -->
+   <!-- ==================================================================== -->
+   
+   <!-- ==================================================================== -->
+   <!-- Cluster Partition: defines cluster                                   -->
+   <!-- ==================================================================== -->
+
+   <bean name="PassExpPartition"
+   		 class="org.jboss.ha.framework.server.ClusterPartition">     
+   		 
+      <depends>jboss:service=Naming</depends>
+    	 
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=PassExpPartition", exposedInterface=org.jboss.ha.framework.server.ClusterPartitionMBean.class)</annotation>
+      
+   	<constructor>
+   	   <parameter>
+            <bean name="PassExpPartition-ClusterPartitionConfig" class="org.jboss.ha.framework.server.ClusterPartitionConfig">   
+               
+               <!-- ClusterPartition requires a Cache for state management -->
+               <property name="clusteredCache"><inject bean="PassExpPartition-HAPartitionCache" property="cache"/></property>
+               
+               <!-- Name of the partition being built -->
+               <property name="partitionName">PassExpPartition</property>
+         
+               <!-- The address used to determine the node name -->
+               <property name="nodeAddress">${jboss.bind.address}</property>
+         
+               <!-- Inject the naming service port as an aid in creating a nodeUniqueId.  Not needed if nodeUniqueId is set -->
+               <property name="namingServicePort"><inject bean="jboss:service=Naming" property="Port"/></property>
+               
+               <!-- Determine if deadlock detection is enabled -->
+               <property name="deadlockDetection">false</property>
+              
+               <!-- Max time (in ms) to wait for state transfer to complete. Increase for large states -->
+               <property name="stateTransferTimeout">30000</property>
+              
+               <!-- Max time (in ms) to wait for RPC calls to complete. -->
+               <property name="methodCallTimeout">60000</property>            
+               
+            </bean>
+         </parameter>
+      </constructor>
+      
+      <property name="distributedReplicantManagerImpl">
+   		<bean name="PassExpPartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">             
+      		<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=PassExpPartitionDRM,partitionName=PassExpPartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	</bean>
+      </property>
+      
+      <property name="distributedStateImpl">
+		   <bean name="PassExpDistributedState"
+		   		 class="org.jboss.ha.framework.server.DistributedStateImpl">		      
+		      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DistributedState,partitionName=PassExpPartition", exposedInterface=org.jboss.ha.framework.server.DistributedStateImplMBean.class, registerDirectly=true)</annotation>		          
+		      <property name="clusteredCache"><inject bean="PassExpPartition-HAPartitionCache" property="cache"/></property>		      
+		   </bean>		   
+      </property>
+      
+   </bean>
+   
+   
+   <!-- ==================================================================== -->
+   <!-- HA Session State Service for EJB2 SFSB                               -->
+   <!-- ==================================================================== -->
+
+   <bean name="PassExpHASessionState"
+   		 class="org.jboss.ha.hasessionstate.server.HASessionStateService">
+   	
+     <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HASessionState,partitionName=PassExpPartition", exposedInterface=org.jboss.ha.hasessionstate.server.HASessionStateServiceMBean.class, registerDirectly=true)</annotation>
+      	       
+     <depends>PassExpPartition</depends>
+      	 
+  	   <property name="HAPartition"><inject bean="PassExpPartition"/></property>
+      <!-- JNDI name under which the service is bound -->
+      <property name="jndiName">/HASessionState/PassExpPartition</property>
+      <!-- Max delay before cleaning unreclaimed state.
+           Defaults to 30*60*1000 => 30 minutes -->
+      <property name="beanCleaningDelay">0</property>
+      
+   </bean>
+
+   <!-- ==================================================================== -->
+   <!-- HA JNDI                                                              -->
+   <!-- ==================================================================== -->
+
+   <bean name="PassExpHAJNDI" class="org.jboss.ha.jndi.HANamingService">
+   	
+   	<annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=HAJNDI,partitionName=PassExpPartition", exposedInterface=org.jboss.ha.jndi.HANamingServiceMBean.class, registerDirectly=true)</annotation>
+      
+      <depends>PassExpPartition</depends>
+      	       
+      <property name="HAPartition"><inject bean="PassExpPartition"/></property>
+      <property name="clusteredCache"><inject bean="PassExpPartition-HAPartitionCache" property="cache"/></property>
+      
+      <!-- Bind address of bootstrap and HA-JNDI RMI endpoints -->
+      <property name="bindAddress">${jboss.bind.address}</property>
+      <!-- Port on which the HA-JNDI stub is made available -->
+      <property name="port">11100</property>
+      <!-- RmiPort to be used by the HA-JNDI service once bound. 0 => auto. -->
+      <property name="rmiPort">11101</property>
+      <!-- Accept backlog of the bootstrap socket -->
+      <property name="backlog">50</property>
+      <!-- The thread pool service used to control the bootstrap and
+      auto discovery lookups -->
+      <property name="lookupPool"><inject bean="jboss.system:service=ThreadPool"/></property>
+
+      <!-- A flag to disable the auto discovery via multicast -->
+      <property name="discoveryDisabled">false</property>
+      <!-- Set the auto-discovery bootstrap multicast bind address. If not 
+      specified and a BindAddress is specified, the BindAddress will be used. -->
+      <property name="autoDiscoveryBindAddress">${jboss.bind.address}</property>
+      <!-- Multicast Address and group port used for auto-discovery -->
+      <property name="autoDiscoveryAddress">${jboss.partition.udpGroup:230.0.0.4}</property>
+      <property name="autoDiscoveryGroup">11102</property>
+      <!-- The TTL (time-to-live) for autodiscovery IP multicast packets -->
+      <property name="autoDiscoveryTTL">16</property>
+      <!-- The load balancing policy for HA-JNDI -->
+      <property name="loadBalancePolicy">org.jboss.ha.framework.interfaces.RoundRobin</property>
+
+      <!-- Client socket factory to be used for client-server
+           RMI invocations during JNDI queries
+      <property name="clientSocketFactory">custom</property>
+      -->
+      <!-- Server socket factory to be used for client-server
+           RMI invocations during JNDI queries
+      <property name="serverSocketFactory">custom</property>
+      -->
+   </bean>
+   
+   <bean class="org.jboss.remoting.transport.Connector"
+          name="PassExpConnector">
+
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.remoting:service=PassExpConnector,transport=socket", exposedInterface=org.jboss.remoting.transport.ConnectorMBean.class, registerDirectly=true)</annotation>
+         
+      <constructor>
+          <!-- Remember that if you do use more than one param on the uri, will have to include as a CDATA, -->
+          <!-- otherwise, parser will complain. -->
+   	   <parameter><![CDATA[socket://${jboss.bind.address:localhost}:24446/?datatype=invocation&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller&socketTimeout=60000&enableTcpNoDelay=true]]></parameter>
+   	   <parameter>
+   	     <map class="java.util.HashMap" keyClass="java.lang.String" valueClass="java.lang.String">
+   	     <entry><key>dataType</key><value>invocation</value></entry>
+   	     <entry><key>marshaller</key><value>org.jboss.invocation.unified.marshall.InvocationMarshaller</value></entry>
+   	     <entry><key>unmarshaller</key><value>org.jboss.invocation.unified.marshall.InvocationUnMarshaller</value></entry>
+   	     <entry><key>socketTimeout</key><value>600000</value></entry>
+   	     <entry><key>serverBindAddress</key><value>${jboss.bind.address:localhost}</value></entry>
+   	     <entry><key>serverBindPort</key><value>24446</value></entry>
+   	     <entry><key>enableTcpNoDelay</key><value>true</value></entry>
+   	     </map>
+   	   </parameter>
+   	 </constructor>
+   	 
+      <depends>jboss.remoting:service=NetworkRegistry</depends>
+   </bean>
+
+
+   <bean name="PassExpUnifiedInvokerHA"
+   		 class="org.jboss.invocation.unified.server.UnifiedInvokerHA">
+   		 
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=invoker,type=unifiedha,partitionName=PassExpPartition", exposedInterface=org.jboss.system.ServiceMBean.class, registerDirectly=true)</annotation>
+         
+      <depends>jboss:service=TransactionManager</depends>
+      <depends>PassExpPartition</depends>
+      
+      <property name="connector"><inject bean="PassExpConnector"/></property>
+   </bean>
+
+   <!-- ==================================================================== -->
+   <!-- Distributed cache invalidation                                       -->
+   <!-- ==================================================================== -->
+
+   <bean name="PassExpJGCacheInvalidationBridge"
+   		 class="org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridge">
+   		 
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.cache:service=InvalidationBridge,type=JavaGroups,partitionName=PassExpPartition", exposedInterface=org.jboss.cache.invalidation.bridges.JGCacheInvalidationBridgeMBean.class, registerDirectly=true)</annotation>
+      
+      <depends>PassExpPartition</depends>
+         
+      <property name="HAPartition"><inject bean="PassExpPartition"/></property>
+      <property name="invalidationManager"><inject bean="jboss.cache:service=InvalidationManager"/></property>
+      <property name="bridgeName">PassExpJGBridge</property>
+      
+   </bean>
+   
+</deployment>

Added: trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/cluster/ejb2/passexp/META-INF/passexp-stacks.xml	2008-01-22 15:36:21 UTC (rev 69193)
@@ -0,0 +1,138 @@
+<!--
+  Special stacks with message bundling disabled for tests where latency can't be tolerated.
+  Author: Brian Stansberry
+  Version: $Id: multiplexer-stacks.xml 68550 2007-12-24 22:14:27Z bstansberry at jboss.com $
+-->
+<protocol_stacks>
+    <stack name="passexp-udp"
+           description="Default: IP multicast based stack, with flow control and message bundling">
+        <config>
+          <UDP
+             mcast_port="${jgroups.udp.mcast_port:34688}"
+             mcast_addr="${jgroups.udp.mcast_addr:228.11.11.11}"
+             tos="8"
+             ucast_recv_buf_size="20000000"
+             ucast_send_buf_size="640000"
+             mcast_recv_buf_size="25000000"
+             mcast_send_buf_size="640000"
+             loopback="false"
+             discard_incompatible_packets="true"
+             max_bundle_size="64000"
+             max_bundle_timeout="30"
+             use_incoming_packet_handler="true"
+             ip_ttl="${jgroups.udp.ip_ttl:2}"
+             enable_bundling="false"
+                 
+             use_concurrent_stack="true"
+
+		     thread_pool.enabled="true"
+		     thread_pool.min_threads="1"
+		     thread_pool.max_threads="25"
+		     thread_pool.keep_alive_time="5000"
+		     thread_pool.queue_enabled="false"
+		     thread_pool.queue_max_size="100"
+		     thread_pool.rejection_policy="Run"
+		
+		     oob_thread_pool.enabled="true"
+		     oob_thread_pool.min_threads="1"
+		     oob_thread_pool.max_threads="8"
+		     oob_thread_pool.keep_alive_time="5000"
+		     oob_thread_pool.queue_enabled="false"
+		     oob_thread_pool.queue_max_size="100"
+		     oob_thread_pool.rejection_policy="Run"/>
+          <PING timeout="2000" num_initial_members="3"/>
+          <MERGE2 max_interval="100000" min_interval="20000"/>
+          <FD_SOCK/>
+          <FD timeout="10000" max_tries="5" shun="true"/>
+          <VERIFY_SUSPECT timeout="1500"/>
+          <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+                   retransmit_timeout="300,600,1200,2400,4800"
+                   discard_delivered_msgs="true"/>
+          <UNICAST timeout="300,600,1200,2400,3600"/>
+          <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                   max_bytes="400000"/>
+          <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                   shun="true"
+                   view_bundling="true"
+                   view_ack_collection_timeout="5000"/>
+          <FC max_credits="2000000" min_threshold="0.10"/>
+          <FRAG2 frag_size="60000"/>
+          <!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
+          <pbcast.STATE_TRANSFER/>
+          <pbcast.FLUSH timeout="0"/>
+        </config>
+    </stack>
+
+
+    <stack name="passexp-tcp"
+           description="TCP based stack, with flow control and message bundling. This is usually used when IP
+           multicasting cannot be used in a network, e.g. because it is disabled (routers discard multicast)">
+        <config>
+            <TCP start_port="37600"
+                 tcp_nodelay="true"
+                 loopback="false"
+                 recv_buf_size="20000000"
+                 send_buf_size="640000"
+                 discard_incompatible_packets="true"
+                 max_bundle_size="64000"
+                 max_bundle_timeout="30"
+                 use_incoming_packet_handler="true"
+                 enable_bundling="false"
+                 use_send_queues="false"
+                 sock_conn_timeout="300"
+                 skip_suspected_members="true"
+                 
+                 use_concurrent_stack="true"
+	
+		         thread_pool.enabled="true"
+		         thread_pool.min_threads="1"
+		         thread_pool.max_threads="25"
+		         thread_pool.keep_alive_time="5000"
+		         thread_pool.queue_enabled="false"
+		         thread_pool.queue_max_size="100"
+		         thread_pool.rejection_policy="run"
+		
+		         oob_thread_pool.enabled="true"
+		         oob_thread_pool.min_threads="1"
+		         oob_thread_pool.max_threads="8"
+		         oob_thread_pool.keep_alive_time="5000"
+		         oob_thread_pool.queue_enabled="false"
+		         oob_thread_pool.queue_max_size="100"
+		         oob_thread_pool.rejection_policy="run"/>
+		    <!-- Alternative 1: multicast-based automatic discovery. -->   
+            <MPING timeout="3000"
+                   num_initial_members="3"
+                   mcast_addr="${jgroups.udp.mcast_addr:230.11.11.11}"
+                   mcast_port="${jgroups.tcp_mping.mcast_port:34700}"
+                   ip_ttl="${jgroups.udp.ip_ttl:2}"/>            
+            <!-- Alternative 2: non multicast-based replacement for MPING. Requires a static configuration
+                 of all possible cluster members.
+            <TCPPING timeout="3000"
+                     initial_hosts="${jgroups.tcpping.initial_hosts:localhost[7600],localhost[7601]}"
+                     port_range="1"
+                     num_initial_members="3"/>
+             -->
+            <MERGE2 max_interval="100000" min_interval="20000"/>
+            <FD_SOCK/>
+            <FD timeout="10000" max_tries="5" shun="true"/>
+            <VERIFY_SUSPECT timeout="1500"/>
+            <pbcast.NAKACK use_mcast_xmit="false" gc_lag="0"
+                           retransmit_timeout="300,600,1200,2400,4800"
+                           discard_delivered_msgs="true"/>
+            <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
+                           max_bytes="400000"/>
+            <pbcast.GMS print_local_addr="true" join_timeout="3000"
+                        shun="true"
+                        view_bundling="true"
+                        view_ack_collection_timeout="5000"/>
+            <FC max_credits="2000000" min_threshold="0.10"/>
+            <FRAG2 frag_size="60000"/>
+            <!-- pbcast.STREAMING_STATE_TRANSFER use_reading_thread="true"/ -->
+            <pbcast.STATE_TRANSFER/>
+            <pbcast.FLUSH timeout="0"/>
+        </config>
+    </stack>
+
+</protocol_stacks>
+
+




More information about the jboss-cvs-commits mailing list