[jboss-cvs] JBossAS SVN: r64512 - in trunk: cluster/src/main/org/jboss/ha/framework/server and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 8 17:08:44 EDT 2007


Author: jerrygauth
Date: 2007-08-08 17:08:44 -0400 (Wed, 08 Aug 2007)
New Revision: 64512

Modified:
   trunk/cluster/src/etc/cluster-beans.xml
   trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java
   trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartitionMBean.java
   trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java
   trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImplMBean.java
   trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java
   trunk/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-beans.xml
   trunk/testsuite/src/resources/cluster/partition/jboss-beans.xml
   trunk/testsuite/src/resources/cluster/partition/partition-restart-beans.xml
Log:
JBAS-3532, inject DRM into ClusterPartition


Modified: trunk/cluster/src/etc/cluster-beans.xml
===================================================================
--- trunk/cluster/src/etc/cluster-beans.xml	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/cluster/src/etc/cluster-beans.xml	2007-08-08 21:08:44 UTC (rev 64512)
@@ -88,13 +88,25 @@
    		 class="org.jboss.ha.framework.server.DistributedStateImpl">
       
       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DistributedState,partitionName=${jboss.partition.name:DefaultPartition}", exposedInterface=org.jboss.ha.framework.server.DistributedStateImplMBean.class, registerDirectly=true)</annotation>
-      
-          
+               
       <property name="clusteredCache"><inject bean="DefaultPartition-HAPartitionCache" property="cache"/></property>
       
    </bean>
 
    <!-- ==================================================================== -->
+   <!-- DistributedReplicantManager Service                                                                              -->
+   <!-- ==================================================================== -->
+
+   <bean name="DistributedReplicantManager"
+   		 class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">
+      
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=DistributedReplicantManager,partitionName=${jboss.partition.name:DefaultPartition}", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	       
+      <property name="HAPartition"><inject bean="HAPartition" state="Create"/></property>
+      <depends>HAPartition</depends>
+      
+   </bean>
+   <!-- ==================================================================== -->
    <!-- Cluster Partition: defines cluster                                   -->
    <!-- ==================================================================== -->
 
@@ -109,7 +121,7 @@
                
                <!-- ClusterPartition requires a Cache for state management -->
                <property name="clusteredCache"><inject bean="DefaultPartition-HAPartitionCache" property="cache"/></property>
-               
+          
                <property name="distributedState"><inject bean="DistributedState"/></property>
                 
                <!-- Name of the partition being built -->
@@ -134,6 +146,8 @@
          </parameter>
       </constructor>
       
+      <property name="distributedReplicantManager"><inject bean="DistributedReplicantManager" state="Instantiated"/></property>
+      
    </bean>
    
    

Modified: trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java	2007-08-08 21:08:44 UTC (rev 64512)
@@ -198,7 +198,6 @@
    protected Exception setStateException;
    private final Object stateLock = new Object();
    private final MessageListenerAdapter messageListener = new MessageListenerAdapter();
-   private boolean selfCreatedDRM;
 
    // Static --------------------------------------------------------
    
@@ -230,7 +229,7 @@
    {
       if (config == null)
          throw new IllegalArgumentException("config cannot be null");
-      
+
       this.config = config;
       setupLoggers(config.getPartitionName());
       this.history = new Vector();
@@ -247,7 +246,7 @@
          throw new IllegalArgumentException("config cannot be null");
       log.debug("Creating Multiplexer Channel for partition " + getPartitionName() +
             " using stack " + getMultiplexerStack());
-      
+
       channel = createMuxChannel(config);
       
       channel.setOpt(Channel.AUTO_RECONNECT, Boolean.TRUE);
@@ -266,24 +265,8 @@
       dispatcher.setRequestMarshaller(new RequestMarshallerImpl());
       dispatcher.setResponseMarshaller(new ResponseMarshallerImpl());
       
-      // FIXME remove once @JMX issues are sorted
       if (replicantManager == null)
-      {
-         // Create the DRM and link it to this HAPartition
-         log.debug("create replicant manager");
-         DistributedReplicantManagerImpl drm = new DistributedReplicantManagerImpl(this);
-         if (server != null)
-            drm.registerWithJmx(server);
-         drm.create();
-         setDistributedReplicantManager(drm);
-         this.selfCreatedDRM = true;
-      }
-      
-//      // Create the DS and link it to this HAPartition
-//      log.debug("create distributed serviceState service");
-//      this.dsManager = new DistributedStateImpl(this, this.server);
-//      log.debug("init distributed serviceState service");
-//      this.dsManager.init();
+         throw new IllegalStateException("DistributedReplicantManager property must be set before creating ClusterPartition service");
 
       // Create the asynchronous handler for view changes
       asynchHandler = new AsynchEventHandler(this, "AsynchViewChangeHandler");
@@ -336,12 +319,6 @@
          //
          fetchState();
          
-         if (selfCreatedDRM)
-         {
-            // We are now able to start our DRM and DS
-            ((DistributedReplicantManagerImpl) this.replicantManager).start();
-         }
-         
          // Start the asynch listener handler thread
          asynchHandler.start();
          
@@ -374,23 +351,8 @@
       catch( Exception e)
       {
          log.warn("Failed to stop asynchHandler", e);
-      }
+      }    
 
-      
-      if (selfCreatedDRM)
-      {
-         // Stop the DRM service
-         // TODO remove when DRM is independent
-         try
-         {
-            ((DistributedReplicantManagerImpl) this.replicantManager).stop();
-         }
-         catch (Exception e)
-         {
-            log.error("DistributedReplicantManager stop operation failed", e);
-         }
-      }      
-
 //    NR 200505 : [JBCLUSTER-38] replace channel.close() by a disconnect and
 //    add the destroyPartition() step
       try
@@ -429,20 +391,7 @@
    protected void destroyService()  throws Exception
    {
       log.debug("Destroying HAPartition: " + getPartitionName());
-      
-      if (selfCreatedDRM)
-      {
-         try
-         {
-            if (server != null)
-               ((DistributedReplicantManagerImpl) replicantManager).unregisterWithJmx(server);
-            ((DistributedReplicantManagerImpl) replicantManager).destroy();
-         }
-         catch (Exception e)
-         {
-            log.error("Destroying DRM failed", e);
-         }      
-      }
+
       try
       {
          channel.close();
@@ -768,7 +717,7 @@
    public String getPartitionName()
    {
       return (config == null ? null : config.getPartitionName());
-   }
+   }  
    
    public DistributedReplicantManager getDistributedReplicantManager()
    {
@@ -1119,10 +1068,11 @@
    {
       if (this.replicantManager != null  && !(replicantManager == drm))
          throw new IllegalStateException("DistributedReplicantManager already set");
-      
+
       this.replicantManager = drm;
    }
    
+   
    // Protected -----------------------------------------------------
 
    protected void verifyNodeIsUnique (Vector javaGroupIpAddresses) throws Exception

Modified: trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartitionMBean.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartitionMBean.java	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/cluster/src/main/org/jboss/ha/framework/server/ClusterPartitionMBean.java	2007-08-08 21:08:44 UTC (rev 64512)
@@ -27,6 +27,7 @@
 import javax.management.ObjectName;
 
 import org.jboss.cache.Cache;
+import org.jboss.ha.framework.interfaces.DistributedReplicantManager;
 import org.jboss.ha.framework.interfaces.DistributedState;
 import org.jboss.ha.framework.interfaces.HAPartition;
 import org.jboss.mx.util.ObjectNameFactory;
@@ -123,9 +124,19 @@
     *
     * @return the HAPartition for the cluster service
     */
-   HAPartition getHAPartition ();   
+   HAPartition getHAPartition ();
    
    /**
+    * Access to the DistributedReplicantManager implementation
+    */
+   void setDistributedReplicantManager(DistributedReplicantManager distributedReplicantManager);
+   
+   /**
+    * Access to the DistributedReplicantManager implementation
+    */
+   DistributedReplicantManager getDistributedReplicantManager();
+   
+   /**
     * Access to the DistributedState implementation
     */
    DistributedState getDistributedStateService();

Modified: trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java	2007-08-08 21:08:44 UTC (rev 64512)
@@ -87,42 +87,20 @@
 
    // Static --------------------------------------------------------
    
-   // Constructors --------------------------------------------------       
-   
-   /**
-    * Creates a DistributedReplicantManager that manages replicated objects 
-    * through the given partition. Injects a back reference to this object
-    * into the partition.
-    *
-    * @param partition  {@link ClusterPartition} through which replicated 
-    *                   objects will be exchanged
-    */   
-   public DistributedReplicantManagerImpl(ClusterPartition partition)
+   // Constructors --------------------------------------------------
+   public DistributedReplicantManagerImpl() 
    {
-      this(partition.getHAPartition());
-      // Set a back ref to ourself
-      partition.setDistributedReplicantManager(this);
+      super();
+      this.log = Logger.getLogger (this.getClass ());
    }
-   
-   /**
-    * Creates a  DistributedReplicantManager that manages replicated objects 
-    * through the given partition.
-    *
-    * @param partition  {@link HAPartition} through which replicated objects 
-    *                   will be exchanged
-    */   
-   public DistributedReplicantManagerImpl(HAPartition partition)
-   {
-     this.partition = partition;
-     this.log = Logger.getLogger(DistributedReplicantManagerImpl.class.getName() + 
-                 "." + partition.getPartitionName());
-     this.trace = log.isTraceEnabled();
-  }
 
    // Public --------------------------------------------------------
    
    public void create() throws Exception
    {
+      if (partition == null)
+         throw new IllegalStateException("HAPartition property must be set before creating DistributedReplicantManager service");
+
       log.debug("registerRPCHandler");
       partition.registerRPCHandler(SERVICE_NAME, this);
       log.debug("subscribeToStateTransferEvents");
@@ -134,7 +112,7 @@
    public void start() throws Exception
    {
       this.nodeName = this.partition.getNodeName();
-      
+   
       // Create the asynch listener handler thread
       asynchHandler = new AsynchEventHandler(this, "AsynchKeyChangeHandler");
       asynchHandler.start();
@@ -178,9 +156,12 @@
          }
       }
       
-      partition.unregisterRPCHandler(SERVICE_NAME, this);
-      partition.unsubscribeFromStateTransferEvents(SERVICE_NAME, this);
-      partition.unregisterMembershipListener(this);
+      if (partition != null)
+      {   
+         partition.unregisterRPCHandler(SERVICE_NAME, this);
+         partition.unsubscribeFromStateTransferEvents(SERVICE_NAME, this);
+         partition.unregisterMembershipListener(this);
+      }
    }
 
    public void registerWithJmx(MBeanServer server) throws Exception
@@ -198,6 +179,16 @@
       return new ObjectName("jboss:service=" + SERVICE_NAME + ",partition=" + partition.getPartitionName());
    }
    
+   public HAPartition getHAPartition()
+   {
+      return partition;
+   }
+
+   public void setHAPartition(HAPartition clusterPartition)
+   {
+      this.partition = clusterPartition;
+   }
+   
    public String listContent () throws Exception
    {
       // we merge all replicants services: local only or not

Modified: trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImplMBean.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImplMBean.java	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImplMBean.java	2007-08-08 21:08:44 UTC (rev 64512)
@@ -21,6 +21,8 @@
   */
 package org.jboss.ha.framework.server;
 
+import org.jboss.ha.framework.interfaces.HAPartition;
+
 /**
  * MBean interface for the Distributed Replicant Manager (DRM) service
  *
@@ -37,7 +39,21 @@
 
 public interface DistributedReplicantManagerImplMBean
    extends org.jboss.ha.framework.interfaces.DistributedReplicantManager
-{
+{   
+   /**
+    * Get the underlying partition used by this service.
+    * 
+    * @return the partition
+    */
+   HAPartition getHAPartition();
+   
+   /**
+    * Sets the underlying partition used by this service.
+    * 
+    * @param clusterPartition the partition
+    */
+   void setHAPartition(HAPartition clusterPartition);
+   
    String listContent () throws Exception;
    String listXmlContent () throws Exception;
 }

Modified: trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java	2007-08-08 21:08:44 UTC (rev 64512)
@@ -644,7 +644,9 @@
          wrapper1.start();
          
          DistributedStateImpl ds1 = new DistributedStateImpl();
-         ds1.setClusteredCache(wrapper1.getCache());
+         ds1.setClusteredCache(wrapper1.getCache());         
+
+         DistributedReplicantManager drm1 = new DistributedReplicantManagerImpl();
          
          ClusterPartitionConfig config1 = new ClusterPartitionConfig();
          config1.setPartitionName(partitionName);
@@ -654,9 +656,17 @@
          config1.setStateTransferTimeout(30000);
          config1.setMethodCallTimeout(60000);
          ClusterPartition partition1 = new ClusterPartition(config1);
+         partition1.setDistributedReplicantManager(drm1);
          partition1.setBindIntoJndi(false);
+         
+         // handle circular dependency between HAPartition and DRM
          partition1.create();
+         ((DistributedReplicantManagerImpl)drm1).setHAPartition(partition1);
+         ((DistributedReplicantManagerImpl)drm1).create();
+         
          partition1.start();
+         ((DistributedReplicantManagerImpl)drm1).start();
+
          Thread.sleep(10000);
          
          Configuration cacheConfig2 = new Configuration();
@@ -675,6 +685,8 @@
          DistributedStateImpl ds2 = new DistributedStateImpl();
          ds2.setClusteredCache(wrapper2.getCache());
          
+         DistributedReplicantManager drm2 = new DistributedReplicantManagerImpl();
+         
          ClusterPartitionConfig config2 = new ClusterPartitionConfig();
          config2.setPartitionName(partitionName);
          config2.setNodeUniqueId("DRMTestCaseNode2");
@@ -683,13 +695,17 @@
          config2.setStateTransferTimeout(30000);
          config2.setMethodCallTimeout(60000);
          ClusterPartition partition2 = new ClusterPartition(config2);
+         partition2.setDistributedReplicantManager(drm2);
          partition2.setBindIntoJndi(false);
+         
+         // handle circular dependency between HAPartition and DRM
          partition2.create();
+         ((DistributedReplicantManagerImpl)drm2).setHAPartition(partition2);
+         ((DistributedReplicantManagerImpl)drm2).create();
+         
          partition2.start();
+         ((DistributedReplicantManagerImpl)drm2).start();
          Thread.sleep(10000);
-
-         DistributedReplicantManager drm1 = partition1.getDistributedReplicantManager();
-         DistributedReplicantManager drm2 = partition2.getDistributedReplicantManager();
          
          // confirm that each partition contains two nodes   
          assertEquals("Partition1 should contain two nodes; ", 2, partition1.getCurrentView().size());
@@ -820,8 +836,8 @@
          ClusterNode localAddress = new ClusterNode(new IpAddress("127.0.0.1", 12345));
          MockHAPartition partition = new MockHAPartition(localAddress);
       
-         DistributedReplicantManagerImpl drm = 
-               new DistributedReplicantManagerImpl(partition);
+         DistributedReplicantManagerImpl drm = new DistributedReplicantManagerImpl();
+         drm.setHAPartition(partition);
 
          drm.create();
          
@@ -925,8 +941,8 @@
          ClusterNode localAddress = new ClusterNode(new IpAddress("127.0.0.1", 12345));
          MockHAPartition partition = new MockHAPartition(localAddress);
       
-         DistributedReplicantManagerImpl drm = 
-               new DistributedReplicantManagerImpl(partition);
+         DistributedReplicantManagerImpl drm = new DistributedReplicantManagerImpl();
+         drm.setHAPartition(partition);
 
          drm.create();
          
@@ -1044,8 +1060,8 @@
          ClusterNode localAddress = new ClusterNode(new IpAddress("127.0.0.1", 12345));
          MockHAPartition partition = new MockHAPartition(localAddress);
       
-         DistributedReplicantManagerImpl drm = 
-               new DistributedReplicantManagerImpl(partition);
+         DistributedReplicantManagerImpl drm = new DistributedReplicantManagerImpl();
+         drm.setHAPartition(partition);
 
          drm.create();
          
@@ -1227,8 +1243,8 @@
          MockHAPartition partition = new MockHAPartition(nodes[2]);
          partition.setCurrentViewClusterNodes(allNodes);
          
-         DistributedReplicantManagerImpl drm = 
-               new DistributedReplicantManagerImpl(partition);
+         DistributedReplicantManagerImpl drm = new DistributedReplicantManagerImpl();
+         drm.setHAPartition(partition);
          drm.create();
          drm.start();
          

Modified: trunk/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-beans.xml	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-beans.xml	2007-08-08 21:08:44 UTC (rev 64512)
@@ -168,6 +168,15 @@
    </bean>
    
    <!-- ==================================================================== -->
+   <!-- DistributedReplicantManager Service                                                                              -->
+   <!-- ==================================================================== -->
+   <bean name="ElectionPolicyTestPartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">      
+       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=ElectionPolicyTestPartitionDRM,partitionName=ElectionPolicyTestPartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	<property name="HAPartition"><inject bean="ElectionPolicyTestPartition" state="Create"/></property>
+      	<depends>ElectionPolicyTestPartition</depends>            
+   </bean>
+   
+   <!-- ==================================================================== -->
    <!-- Partition used for testing failure to receive state                  -->
    <!-- ==================================================================== -->
    
@@ -204,7 +213,9 @@
             </bean>
          </parameter>
      </constructor>
-      
+     
+     <property name="distributedReplicantManager"><inject bean="ElectionPolicyTestPartitionDRM" state="Instantiated"/></property>
+     
    </bean>
 
 </deployment>

Modified: trunk/testsuite/src/resources/cluster/partition/jboss-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/partition/jboss-beans.xml	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/testsuite/src/resources/cluster/partition/jboss-beans.xml	2007-08-08 21:08:44 UTC (rev 64512)
@@ -98,6 +98,12 @@
          class="org.jboss.test.cluster.hapartition.state.HAPartitionRecorder">
          <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=BadProviderPartitionRecorder", exposedInterface=org.jboss.test.cluster.hapartition.state.HAPartitionRecorderMBean.class, registerDirectly=true)</annotation>
    </bean>
+   
+    <bean name="BadProviderPartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">      
+       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=BadProviderPartitionDRM,partitionName=BadProviderPartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	<property name="HAPartition"><inject bean="BadProviderPartition" state="Create"/></property>
+      	<depends>BadProviderPartition</depends>        
+   </bean>
          
    <bean name="BadProviderPartition"
    		 class="org.jboss.test.cluster.hapartition.state.StartupTestClusterPartition">     
@@ -137,6 +143,8 @@
          </parameter>
       </constructor>
       
+      <property name="distributedReplicantManager"><inject bean="BadProviderPartitionDRM" state="Instantiated"/></property>
+      
       <property name="startupRecorder"><inject bean="BadProviderPartitionRecorder"/></property>
       
       <property name="stateTransferTargets">
@@ -171,6 +179,12 @@
          class="org.jboss.test.cluster.hapartition.state.HAPartitionRecorder">
          <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=BadStatePartitionRecorder", exposedInterface=org.jboss.test.cluster.hapartition.state.HAPartitionRecorderMBean.class, registerDirectly=true)</annotation>
    </bean>
+   
+   <bean name="BadStatePartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">      
+       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=BadStatePartitionDRM,partitionName=BadStatePartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	<property name="HAPartition"><inject bean="BadStatePartition" state="Create"/></property>
+      	<depends>BadStatePartition</depends>           
+   </bean>
          
    <bean name="BadStatePartition"
    		 class="org.jboss.test.cluster.hapartition.state.StartupTestClusterPartition">     
@@ -210,6 +224,8 @@
          </parameter>
       </constructor>
       
+      <property name="distributedReplicantManager"><inject bean="BadStatePartitionDRM" state="Instantiated"/></property>
+      
       <property name="startupRecorder"><inject bean="BadStatePartitionRecorder"/></property>
       
       <property name="stateTransferTargets">
@@ -244,6 +260,12 @@
          class="org.jboss.test.cluster.hapartition.state.HAPartitionRecorder">
          <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=NoStatePartitionRecorder", exposedInterface=org.jboss.test.cluster.hapartition.state.HAPartitionRecorderMBean.class, registerDirectly=true)</annotation>
    </bean>
+   
+   <bean name="NoStatePartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">      
+       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=NoStatePartitionDRM,partitionName=NoStatePartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	<property name="HAPartition"><inject bean="NoStatePartition" state="Create"/></property>
+      	<depends>NoStatePartition</depends>      
+   </bean>
          
    <bean name="NoStatePartition"
    		 class="org.jboss.test.cluster.hapartition.state.StartupTestClusterPartition">     
@@ -281,6 +303,8 @@
          </parameter>
       </constructor>
       
+      <property name="distributedReplicantManager"><inject bean="NoStatePartitionDRM" state="Instantiated"/></property>
+      
       <property name="startupRecorder"><inject bean="NoStatePartitionRecorder"/></property>
       
    </bean>
@@ -294,6 +318,12 @@
          class="org.jboss.test.cluster.hapartition.state.HAPartitionRecorder">
          <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=GoodStatePartitionRecorder", exposedInterface=org.jboss.test.cluster.hapartition.state.HAPartitionRecorderMBean.class, registerDirectly=true)</annotation>
    </bean>
+   
+   <bean name="GoodStatePartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">      
+       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=GoodStatePartitionDRM,partitionName=GoodStatePartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	<property name="HAPartition"><inject bean="GoodStatePartition" state="Create"/></property>      
+       <depends>GoodStatePartition</depends>
+   </bean>
          
    <bean name="GoodStatePartition"
    		 class="org.jboss.test.cluster.hapartition.state.StartupTestClusterPartition">     
@@ -336,6 +366,8 @@
          </parameter>
       </constructor>
       
+      <property name="distributedReplicantManager"><inject bean="GoodStatePartitionDRM" state="Instantiated"/></property>
+      
       <property name="startupRecorder"><inject bean="GoodStatePartitionRecorder"/></property>
       
       <property name="stateTransferTargets">

Modified: trunk/testsuite/src/resources/cluster/partition/partition-restart-beans.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/partition/partition-restart-beans.xml	2007-08-08 14:46:12 UTC (rev 64511)
+++ trunk/testsuite/src/resources/cluster/partition/partition-restart-beans.xml	2007-08-08 21:08:44 UTC (rev 64512)
@@ -93,6 +93,15 @@
       <property name="clusteredCache"><inject bean="RestartPartition-HAPartitionCache" property="cache"/></property>
       
    </bean>
+   
+   <!-- ==================================================================== -->
+   <!-- DistributedReplicantManager Service                                                                              -->
+   <!-- ==================================================================== -->
+   <bean name="RestartPartitionDRM" class="org.jboss.ha.framework.server.DistributedReplicantManagerImpl">      
+       <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=RestartPartitionDRM,partitionName=RestartPartition", exposedInterface=org.jboss.ha.framework.server.DistributedReplicantManagerImplMBean.class, registerDirectly=true)</annotation>
+      	<property name="HAPartition"><inject bean="RestartPartition" state="Create"/></property>
+      	<depends>RestartPartition</depends>   
+   </bean>
 
    <!-- ==================================================================== -->
    <!-- Cluster Partition: defines cluster                                   -->
@@ -134,6 +143,8 @@
          </parameter>
       </constructor>
       
+      <property name="distributedReplicantManager"><inject bean="RestartPartitionDRM" state="Instantiated"/></property>
+      
    </bean>
    
    




More information about the jboss-cvs-commits mailing list