[jboss-cvs] JBossAS SVN: r83127 - in trunk: testsuite and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 20 23:20:42 EST 2009


Author: bstansberry at jboss.com
Date: 2009-01-20 23:20:42 -0500 (Tue, 20 Jan 2009)
New Revision: 83127

Modified:
   trunk/cluster/src/etc/deploy-hasingleton-jboss-beans.xml
   trunk/testsuite/build.xml
   trunk/testsuite/imports/server-config.xml
   trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonDeployerTestCase.java
   trunk/testsuite/src/resources/cluster/hasingleton/deployer/test-deploy-hasingleton-jboss-beans.xml
Log:
[JBAS-6363] Ensure HASingletonDeployer BarrierController gets JMX Notifications

Modified: trunk/cluster/src/etc/deploy-hasingleton-jboss-beans.xml
===================================================================
--- trunk/cluster/src/etc/deploy-hasingleton-jboss-beans.xml	2009-01-21 03:48:22 UTC (rev 83126)
+++ trunk/cluster/src/etc/deploy-hasingleton-jboss-beans.xml	2009-01-21 04:20:42 UTC (rev 83127)
@@ -34,6 +34,9 @@
       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.ha:service=HASingletonDeployer", exposedInterface=org.jboss.ha.singleton.HASingletonControllerMBean.class, registerDirectly=true)</annotation>       
       
       <depends>HAPartition</depends>
+      <!-- Have the BarrierController that listens for our JMX 
+           notifications start first. -->
+      <depends>HASingletonDeployerBarrierController</depends>
       
       <property name="HAPartition"><inject bean="HAPartition"/></property>
       <property name="target"><inject bean="HASingletonDeploymentScanner"/></property>
@@ -77,15 +80,16 @@
     |    <enable type="org.jboss.ha.singleton.stopped"/>
    -->
    <bean class="org.jboss.system.BarrierController"
-          name="jboss.ha:service=HASingletonDeployer,type=BarrierController">
+          name="HASingletonDeployerBarrierController">
     
       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.ha:service=HASingletonDeployer,type=BarrierControllerMBean", exposedInterface=org.jboss.system.BarrierControllerMBean.class, registerDirectly=true)</annotation> 
             
       <!-- Dependent services will depend on this mbean -->
       <property name="barrierObjectName">jboss.ha:service=HASingletonDeployer,type=Barrier</property>
     
-      <!-- Whether to subscribe for notifications after startup -->
-      <property name="dynamicSubscriptions">false</property>    
+      <!-- Subscribe for notifications after startup since we start
+           before the HASingletonDeployer. -->
+      <property name="dynamicSubscriptions">true</property>    
       <!-- The notification subscription handback that starts the barrier -->
       <property name="startBarrierHandback">start</property>
       <!-- The notification subscription handback that stops the barrier -->

Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml	2009-01-21 03:48:22 UTC (rev 83126)
+++ trunk/testsuite/build.xml	2009-01-21 04:20:42 UTC (rev 83127)
@@ -72,12 +72,14 @@
    <property name="node0.jndi.url" value="jnp://${node0}:1099" />
    <property name="node0.hajndi.url" value="jnp://${node0}:1100" />
    <property name="node0.jndi.http.url" value="http://${node0}:8080/invoker/JNDIFactory" />
+   <property name="node0.jgroups.bind_addr" value="${node0}" />
    <!-- Cluster node1 defaults -->
    <property name="node1" value="${hostname}" />
    <property name="node1.http.url" value="http://${node1}:8080" />
    <property name="node1.jndi.url" value="jnp://${node1}:1099" />
    <property name="node1.hajndi.url" value="jnp://${node1}:1100" />
    <property name="node1.jndi.http.url" value="http://${node1}:8080/invoker/JNDIFactory" />
+   <property name="node1.jgroups.bind_addr" value="${node1}" />
 
    <!-- UDP Group -->
    <!-- The value of the -u option passed to jboss -->

Modified: trunk/testsuite/imports/server-config.xml
===================================================================
--- trunk/testsuite/imports/server-config.xml	2009-01-21 03:48:22 UTC (rev 83126)
+++ trunk/testsuite/imports/server-config.xml	2009-01-21 04:20:42 UTC (rev 83127)
@@ -226,6 +226,7 @@
          <sysproperty key="resolve.dns" value="false" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="node1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -236,6 +237,7 @@
          <sysproperty key="resolve.dns" value="false" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="clustered-ejb3-noBR-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -246,6 +248,7 @@
          <sysproperty key="resolve.dns" value="false" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="clustered-ejb3-noBR-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -256,6 +259,7 @@
          <sysproperty key="resolve.dns" value="false" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-sync-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -267,6 +271,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-sync-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -278,6 +283,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-0" host="${node0}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
@@ -290,6 +296,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
          <sysproperty key="node0.bind.address" value="${node0}" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-1" host="${node1}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
@@ -302,6 +309,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
          <sysproperty key="node0.bind.address" value="${node0}" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-udp-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -313,6 +321,7 @@
          <sysproperty key="resolve.dns" value="false" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-udp-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -324,6 +333,7 @@
          <sysproperty key="resolve.dns" value="false" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-SYNC-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -336,6 +346,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-SYNC-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -348,6 +359,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-udp-SYNC-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -360,6 +372,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-udp-SYNC-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -372,6 +385,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-BR-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -384,6 +398,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-udp-BR-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -396,6 +411,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-udp-BR-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -408,6 +424,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-udp-BR-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -420,6 +437,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-0" host="${node0}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
@@ -433,6 +451,7 @@
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7600],${node1}[7600]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />  
          <sysproperty key="node0.bind.address" value="${node0}" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-1" host="${node1}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
@@ -446,6 +465,7 @@
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7600],${node1}[7600]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
          <sysproperty key="node0.bind.address" value="${node0}" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-sync-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -458,6 +478,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-sync-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -470,6 +491,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-tcp-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -482,6 +504,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7600],${node1}[7600]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-tcp-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -494,6 +517,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7600],${node1}[7600]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-SYNC-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -506,6 +530,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-SYNC-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -518,6 +543,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-tcp-SYNC-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -530,6 +556,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-tcp-SYNC-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -542,6 +569,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-BR-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -554,6 +582,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-tcp-BR-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -566,6 +595,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-tcp-BR-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -578,6 +608,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-field-tcp-BR-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -590,6 +621,7 @@
          <sysproperty key="jboss.multiplexer.stack" value="tcp-sync" />
          <sysproperty key="jgroups.tcpping.initial_hosts" value="${node0}[7650],${node1}[7650]"/>
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="tomcat-sso-cluster0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -601,6 +633,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="tomcat-sso-cluster1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -612,6 +645,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.multiplexer.stack" value="udp-sync" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="binding-manager1" host="${node0}" httpPort="8180" rmiPort="1199">
          <jvmarg value="-Xms128m" />
@@ -621,6 +655,7 @@
          <sysproperty key="java.net.preferIPv4Stack" value="true" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="binding-manager2" host="${node0}" httpPort="8280" rmiPort="1299">
          <jvmarg value="-Xms128m" />
@@ -630,6 +665,7 @@
          <sysproperty key="java.net.preferIPv4Stack" value="true" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" /> 
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="jrmp-invoker" host="${node0}">
         <jvmarg value="-Xms128m" />    
@@ -688,6 +724,7 @@
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
          <sysproperty key="node0.bind.address" value="${node0}" />
          <sysproperty key="jboss.partition.name" value="${partitionName}"/>
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
       <server name="cluster-classloader-leak-1" host="${node1}">
          <jvmarg value="-Xms128m" />
@@ -701,8 +738,9 @@
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
          <sysproperty key="node0.bind.address" value="${node0}" />
          <sysproperty key="jboss.partition.name" value="${partitionName}"/>
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
-      <server name="profileservice" host="${node0}">
+      <server name="profileservice" host="${node0}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
          <jvmarg value="-Xmx512m" />
          <jvmarg value="-XX:MaxPermSize=512m" />
@@ -711,7 +749,7 @@
          <sysproperty key="java.endorsed.dirs" value="${jboss.dist}/lib/endorsed" />
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
       </server>   	
-      <server name="cluster-profilesvc-0" host="${node0}">
+      <server name="cluster-profilesvc-0" host="${node0}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
          <jvmarg value="-Xmx512m" />
          <jvmarg value="-XX:MaxPermSize=512m" />        
@@ -722,8 +760,9 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="0" />
          <sysproperty key="jboss.partition.name" value="${partitionName}"/>
+         <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
-      <server name="cluster-profilesvc-1" host="${node1}">
+      <server name="cluster-profilesvc-1" host="${node1}" partition="${partitionName}">
          <jvmarg value="-Xms128m" />
          <jvmarg value="-Xmx512m" />
          <jvmarg value="-XX:MaxPermSize=512m" />        
@@ -734,6 +773,7 @@
          <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
          <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
          <sysproperty key="jboss.partition.name" value="${partitionName}"/>
+         <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
       <server name="cluster-ustxsticky-0" host="${node0}">
          <jvmarg value="-Xms128m" />
@@ -784,6 +824,7 @@
            <jvmarg value="-XX:+HeapDumpOnOutOfMemoryError" />
            <sysproperty key="java.endorsed.dirs" value="${jboss.dist}/lib/endorsed" />
            <sysproperty key="java.net.preferIPv4Stack" value="true" />
+           <sysproperty key="jgroups.bind_addr" value="${node0.jgroups.bind_addr}" />
       </server>
        	
       <server name="jbm-cluster2" host="${node1}">
@@ -791,11 +832,11 @@
            <jvmarg value="-Xmx512m" />
            <jvmarg value="-XX:MaxPermSize=512m" />
            <jvmarg value="-XX:+HeapDumpOnOutOfMemoryError" />
-            <sysproperty key="java.net.preferIPv4Stack" value="true" />
            <sysproperty key="jbossnode0" value="${node0}"/>
            <sysproperty key="java.endorsed.dirs" value="${jboss.dist}/lib/endorsed" />
-            <sysproperty key="java.net.preferIPv4Stack" value="true" />
-    	   <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+           <sysproperty key="java.net.preferIPv4Stack" value="true" />
+    	     <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
+           <sysproperty key="jgroups.bind_addr" value="${node1.jgroups.bind_addr}" />
       </server>
 
       <server name="web" host="${node0}" serverUrl="${node0.jndi.http.url}">

Modified: trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonDeployerTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonDeployerTestCase.java	2009-01-21 03:48:22 UTC (rev 83126)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonDeployerTestCase.java	2009-01-21 04:20:42 UTC (rev 83127)
@@ -27,6 +27,7 @@
 
 import junit.framework.Test;
 
+import org.jboss.system.ServiceMBean;
 import org.jboss.test.JBossClusteredTestCase;
 
 /**
@@ -38,7 +39,14 @@
    public static final String SINGLETON_DEPLOYER_ONAME = "jboss.ha:service=TestHASingletonDeployer";
    public static final String SINGLETON_DEPLOYMENT = "jboss.system:service=HASingletonTestThreadPool";
    public static final String SINGLETON_DEPLOYER = "test-deploy-hasingleton-jboss-beans.xml";
+   public static final String SINGLETON_BARRIER_ONAME = "jboss.ha:service=TestHASingletonDeployer,type=Barrier";
+   public static final Integer CREATED_STATE = new Integer(ServiceMBean.CREATED);
+   public static final Integer STARTED_STATE = new Integer(ServiceMBean.STARTED);
+   public static final Integer STOPPED_STATE = new Integer(ServiceMBean.STOPPED);
    
+   public static final String STD_SINGLETON_DEPLOYER_ONAME = "jboss.ha:service=HASingletonDeployer";
+   public static final String STD_SINGLETON_BARRIER_ONAME = "jboss.ha:service=HASingletonDeployer,type=Barrier";
+   
    /**
     * Create a new ProfileRepositoryHASingletonDeployerTestCase.
     * 
@@ -54,59 +62,106 @@
       return getDeploySetup(HASingletonDeployerTestCase.class, SINGLETON_DEPLOYER);
    }
    
+   /**
+    * Accesses the test HASingletonDeployer beans deployed by the test wrapper
+    * and validates that deployments are done on the master node and not on
+    * the non-master.  Also validates that a Barrier has reached the start
+    * state on the master and not on the non-master.  Then undeploys
+    * the deployer on the master node and checks service failover. Then undeploys
+    * on the other node and redeploys on node1, checking node1 became master
+    * with the target services deployed and the Barrier started.  Then deploys 
+    * on node0, confirming that node1 remained the master and node0 didn't
+    * deploy the target services or bring a BARRIER to STARTED state. 
+    * 
+    * @throws Exception
+    */
    public void testHASingletonDeployer() throws Exception
    {
       MBeanServerConnection[] adaptors = getAdaptors();
       
-      boolean node0Master = isMaster(adaptors[0]);
-      assertFalse(node0Master == isMaster(adaptors[1]));
+      boolean node0Master = isMaster(adaptors[0], false);
+      assertFalse(node0Master == isMaster(adaptors[1], false));
       int origMasterIndex = node0Master ? 0 : 1;
       int origNonMasterIndex = node0Master ? 1 : 0;
       
       assertTrue("singleton is not deployed on node " + origMasterIndex, isDeployed(SINGLETON_DEPLOYMENT, adaptors[origMasterIndex]));
       assertFalse("singleton is deployed on node " + origNonMasterIndex, isDeployed(SINGLETON_DEPLOYMENT, adaptors[origNonMasterIndex]));
       
+      assertBarrierStatus(adaptors[0], node0Master, false);
+      assertBarrierStatus(adaptors[1], !node0Master, false);
+      
       undeploy(adaptors[origMasterIndex], SINGLETON_DEPLOYER);
       
       // The singleton is triggered asynchronously, so give it time to work
-      sleep(1000);
+      sleep(2000);
       
       assertTrue(isDeployed(SINGLETON_DEPLOYMENT, adaptors[origNonMasterIndex]));
       assertFalse(isDeployed(SINGLETON_DEPLOYMENT, adaptors[origMasterIndex]));
       
+      assertBarrierStatus(adaptors[origNonMasterIndex], true, false);
+      assertFalse(isDeployed(SINGLETON_BARRIER_ONAME, adaptors[origMasterIndex]));
+      
       undeploy(adaptors[origNonMasterIndex], SINGLETON_DEPLOYER);
       
-      sleep(1000);
+      sleep(2000);
       
       assertFalse(isDeployed(SINGLETON_DEPLOYMENT, adaptors[0]));
       assertFalse(isDeployed(SINGLETON_DEPLOYMENT, adaptors[1]));
       
+      assertFalse(isDeployed(SINGLETON_BARRIER_ONAME, adaptors[0]));
+      assertFalse(isDeployed(SINGLETON_BARRIER_ONAME, adaptors[1]));
+      
       deploy(adaptors[1], SINGLETON_DEPLOYER);
       
-      sleep(1000);
+      sleep(2000);
       
       assertTrue(isDeployed(SINGLETON_DEPLOYMENT, adaptors[1]));
       assertFalse(isDeployed(SINGLETON_DEPLOYMENT, adaptors[0]));
       
+      assertBarrierStatus(adaptors[1], true, false);
+      assertFalse(isDeployed(SINGLETON_BARRIER_ONAME, adaptors[0]));
+      
       deploy(adaptors[0], SINGLETON_DEPLOYER);
       
-      sleep(1000);
+      sleep(2000);
       
       // per policy, node0 takes over as master
       assertTrue(isDeployed(SINGLETON_DEPLOYMENT, adaptors[origMasterIndex]));
       assertFalse(isDeployed(SINGLETON_DEPLOYMENT, adaptors[origNonMasterIndex]));
+      
+      assertBarrierStatus(adaptors[0], true, false);
+      assertBarrierStatus(adaptors[1], false, false);
    }
    
+   /**
+    * Accesses the standard HASingletonDeployer beans, validating that one node
+    * is the master and the other isn't, and that the HASingleto Barrier is 
+    * STARTED on the master and CREATED on the non-master. A basic check that
+    * the "all" config is correct. JBAS-6363. 
+    * 
+    * @throws Exception
+    */
+   public void testAllConfiguration() throws Exception
+   {
+      MBeanServerConnection[] adaptors = getAdaptors();
+      
+      boolean node0Master = isMaster(adaptors[0], true);
+      assertFalse(node0Master == isMaster(adaptors[1], true));
+      
+      assertBarrierStatus(adaptors[0], node0Master, true);
+      assertBarrierStatus(adaptors[1], !node0Master, true);      
+   }
+   
    protected boolean isDeployed(String deployment, MBeanServerConnection server) throws Exception
    {
       return server.isRegistered(new ObjectName(deployment));
    }
    
-   private boolean isMaster(MBeanServerConnection server)
+   private boolean isMaster(MBeanServerConnection server, boolean stdTest)
    {
       try
       {
-         ObjectName oname = new ObjectName(SINGLETON_DEPLOYER_ONAME);
+         ObjectName oname = new ObjectName(stdTest ? STD_SINGLETON_DEPLOYER_ONAME : SINGLETON_DEPLOYER_ONAME);
          return ((Boolean) server.invoke(oname, "isMasterNode", new Object[]{}, new String[]{})).booleanValue();
       }
       catch (Exception e)
@@ -114,5 +169,19 @@
          throw new RuntimeException(e);
       }
    }
+   
+   private void assertBarrierStatus(MBeanServerConnection server, boolean isMaster, boolean stdTest) throws Exception
+   {
+      ObjectName oname = new ObjectName(stdTest ? STD_SINGLETON_BARRIER_ONAME : SINGLETON_BARRIER_ONAME);
+      Integer state = (Integer) server.getAttribute(oname, "State");
+      if (isMaster)
+      {
+         assertEquals(STARTED_STATE, state);
+      }
+      else
+      {
+         assertTrue("State " + state + " is valid", CREATED_STATE.equals(state) || STOPPED_STATE.equals(state));
+      }
+   }
 
 }

Modified: trunk/testsuite/src/resources/cluster/hasingleton/deployer/test-deploy-hasingleton-jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/hasingleton/deployer/test-deploy-hasingleton-jboss-beans.xml	2009-01-21 03:48:22 UTC (rev 83126)
+++ trunk/testsuite/src/resources/cluster/hasingleton/deployer/test-deploy-hasingleton-jboss-beans.xml	2009-01-21 04:20:42 UTC (rev 83127)
@@ -24,6 +24,7 @@
       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.ha:service=TestHASingletonDeployer", exposedInterface=org.jboss.ha.singleton.HASingletonControllerMBean.class, registerDirectly=true)</annotation>       
       
       <depends>HAPartition</depends>
+      <depends>TestHASingletonDeploymentBarrierController</depends>  
       
       <property name="HAPartition"><inject bean="HAPartition"/></property>
       <property name="target"><inject bean="TestHASingletonDeploymentScanner"/></property>
@@ -48,4 +49,56 @@
       
    </bean>
    
+   <bean class="org.jboss.system.BarrierController"
+          name="TestHASingletonDeploymentBarrierController">
+    
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.ha:service=TestHASingletonDeployerBarrierControllerMBean", exposedInterface=org.jboss.system.BarrierControllerMBean.class, registerDirectly=true)</annotation> 
+      
+      <!-- Dependent services will depend on this mbean -->
+      <property name="barrierObjectName">jboss.ha:service=TestHASingletonDeployer,type=Barrier</property>
+    
+      <!-- Whether to subscribe for notifications after startup -->
+      <property name="dynamicSubscriptions">true</property>    
+      <!-- The notification subscription handback that starts the barrier -->
+      <property name="startBarrierHandback">start</property>
+      <!-- The notification subscription handback that stops the barrier -->
+      <property name="stopBarrierHandback">stop</property>
+    
+      <!-- The notifications to subscribe for, along with their handbacks -->
+      <property name="subscriptions">
+         <list>
+            <!--value-->
+               <bean class="org.jboss.system.ListenerServiceMBeanSupport$SubscriptionInfo">
+                     <constructor>
+                        <parameter>jboss.ha:service=TestHASingletonDeployer</parameter>
+                        <parameter>start</parameter>
+                        <parameter>
+                           <bean class="javax.management.NotificationFilterSupport">
+                              <install method="enableType">
+                                 <parameter>org.jboss.ha.singleton.started</parameter>
+                              </install>
+                           </bean>
+                        </parameter>
+                     </constructor>
+               </bean>
+            <!--/value>
+            <value-->
+               <bean class="org.jboss.system.ListenerServiceMBeanSupport$SubscriptionInfo">
+                     <constructor>
+                        <parameter>jboss.ha:service=TestHASingletonDeployer</parameter>
+                        <parameter>stop</parameter>
+                        <parameter>
+                           <bean  class="javax.management.NotificationFilterSupport">
+                              <install method="enableType">
+                                 <parameter>org.jboss.ha.singleton.stopping</parameter>
+                              </install>
+                           </bean>
+                        </parameter>
+                     </constructor>
+               </bean>
+            <!--/value-->        
+         </list>
+      </property>
+   </bean>
+   
 </deployment>




More information about the jboss-cvs-commits mailing list