[hornetq-commits] JBoss hornetq SVN: r10233 - in branches/HORNETQ-316: src/main/org/hornetq/api/core and 16 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Sun Feb 20 09:34:42 EST 2011


Author: igarashitm
Date: 2011-02-20 09:34:41 -0500 (Sun, 20 Feb 2011)
New Revision: 10233

Modified:
   branches/HORNETQ-316/src/config/common/schema/hornetq-configuration.xsd
   branches/HORNETQ-316/src/main/org/hornetq/api/core/DiscoveryGroupConstants.java
   branches/HORNETQ-316/src/main/org/hornetq/api/core/client/HornetQClient.java
   branches/HORNETQ-316/src/main/org/hornetq/core/client/impl/StaticServerLocatorImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConfiguration.java
   branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConstants.java
   branches/HORNETQ-316/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java
   branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BridgeControlImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BroadcastGroupControlImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/ClusterConnectionControlImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/BroadcastGroupImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
   branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java
   branches/HORNETQ-316/tests/config/ConfigurationTest-full-config.xml
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/client/SessionFactoryTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/clientcrash/ClientCrashTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BroadcastGroupControlTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java
   branches/HORNETQ-316/tests/src/org/hornetq/tests/util/UnitTestCase.java
Log:
fixed some bugs to pass the unit tests


Modified: branches/HORNETQ-316/src/config/common/schema/hornetq-configuration.xsd
===================================================================
--- branches/HORNETQ-316/src/config/common/schema/hornetq-configuration.xsd	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/config/common/schema/hornetq-configuration.xsd	2011-02-20 14:34:41 UTC (rev 10233)
@@ -216,18 +216,12 @@
 	<xsd:element name="broadcast-group">
 		<xsd:complexType>
 			<xsd:sequence>
-                <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
-                </xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-port">
+				<xsd:element maxOccurs="1" minOccurs="1" name="broadcast-group-class" type="xsd:string">
 				</xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
-				</xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
-				</xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="0" ref="broadcast-period">
-				</xsd:element>
 				<xsd:element maxOccurs="unbounded" minOccurs="0" name="connector-ref" type="xsd:string">
 				</xsd:element>
+				<xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
+				</xsd:element>
 			</xsd:sequence>
 			<xsd:attribute name="name" type="xsd:ID" use="required"/>
 		</xsd:complexType>
@@ -240,16 +234,10 @@
 	<xsd:element name="discovery-group">
 		<xsd:complexType>
 			<xsd:sequence>
-			    <xsd:element maxOccurs="1" minOccurs="0" ref="local-bind-address">
-                </xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="1" ref="group-address">
+				<xsd:element maxOccurs="1" minOccurs="1" name="server-locator-class" type="xsd:string">
 				</xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="1" ref="group-port">
+				<xsd:element maxOccurs="unbounded" minOccurs="0" name="param" type="paramType">
 				</xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="0" ref="refresh-timeout">
-				</xsd:element>
-				<xsd:element maxOccurs="1" minOccurs="0" ref="initial-wait-timeout">
-				</xsd:element>
 			</xsd:sequence>
 			<xsd:attribute name="name" type="xsd:ID" use="required"/>
 		</xsd:complexType>
@@ -327,21 +315,12 @@
 			</xsd:element>
 			<xsd:element maxOccurs="1" minOccurs="0" name="password" type="xsd:string">
 			</xsd:element>
-			<xsd:choice>				
-				<xsd:element maxOccurs="1" minOccurs="1" name="static-connectors">
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element maxOccurs="unbounded" minOccurs="1" name="connector-ref" type="xsd:string"/>
-                        </xsd:sequence>
-                    </xsd:complexType>
-                </xsd:element>				
-				<xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
-					<xsd:complexType>
-						<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
-						</xsd:attribute>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:choice>
+			<xsd:element maxOccurs="1" minOccurs="1" name="discovery-group-ref">
+				<xsd:complexType>
+					<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
+					</xsd:attribute>
+				</xsd:complexType>
+			</xsd:element>
 		</xsd:sequence>	
 		<xsd:attribute name="name" type="xsd:string" use="required"/>	
 	</xsd:complexType>
@@ -362,22 +341,12 @@
 			</xsd:element>
 			<xsd:element maxOccurs="1" minOccurs="0" name="confirmation-window-size" type="xsd:int">
 			</xsd:element>
-			<xsd:choice>
-				<xsd:element maxOccurs="1" minOccurs="0" name="static-connectors">
-                    <xsd:complexType>
-                        <xsd:sequence>
-                            <xsd:element maxOccurs="unbounded" minOccurs="0" name="connector-ref" type="xsd:string"/>
-                        </xsd:sequence>
-                        <xsd:attribute name="allow-direct-connections-only" type="xsd:boolean" use="optional"/>
-                    </xsd:complexType>
-                </xsd:element>	
-				<xsd:element maxOccurs="1" minOccurs="0" name="discovery-group-ref">
-					<xsd:complexType>
-						<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
-						</xsd:attribute>
-					</xsd:complexType>
-				</xsd:element>
-			</xsd:choice>
+			<xsd:element maxOccurs="1" minOccurs="0" name="discovery-group-ref">
+				<xsd:complexType>
+					<xsd:attribute name="discovery-group-name" type="xsd:IDREF" use="required">
+					</xsd:attribute>
+				</xsd:complexType>
+			</xsd:element>
 		</xsd:sequence>
 		<xsd:attribute name="name" type="xsd:string" use="required"/>
 	</xsd:complexType>

Modified: branches/HORNETQ-316/src/main/org/hornetq/api/core/DiscoveryGroupConstants.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/api/core/DiscoveryGroupConstants.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/api/core/DiscoveryGroupConstants.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -22,7 +22,7 @@
 public class DiscoveryGroupConstants
 {
    // for static discovery
-   public static final String STATIC_CONNECTORS_CONNECTOR_REF_LIST_NAME = "static-connector-ref-list";
+   public static final String STATIC_CONNECTORS_CONNECTOR_NAMES_NAME = "static-connector-names";
    public static final String STATIC_CONNECTORS_LIST_NAME = "static-connector-list";
    
    // for simple UDP discovery

Modified: branches/HORNETQ-316/src/main/org/hornetq/api/core/client/HornetQClient.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/api/core/client/HornetQClient.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/api/core/client/HornetQClient.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -18,8 +18,11 @@
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicy;
 import org.hornetq.core.client.impl.StaticServerLocatorImpl;
+import org.hornetq.core.logging.Logger;
+import org.hornetq.utils.UUIDGenerator;
 
 import java.lang.reflect.Constructor;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -34,6 +37,8 @@
  */
 public class HornetQClient
 {
+   private static final Logger log = Logger.getLogger(HornetQClient.class);
+   
    public static final String DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME = RoundRobinConnectionLoadBalancingPolicy.class.getCanonicalName();
 
    public static final long DEFAULT_CLIENT_FAILURE_CHECK_PERIOD = 30000;
@@ -110,8 +115,8 @@
    public static ServerLocator createServerLocatorWithoutHA(TransportConfiguration... transportConfigurations)
    {
       Map<String,Object> params = new HashMap<String,Object>();
-      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, transportConfigurations);
-      DiscoveryGroupConfiguration config = new DiscoveryGroupConfiguration(StaticServerLocatorImpl.class.getName(), params, null);
+      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, Arrays.asList(transportConfigurations));
+      DiscoveryGroupConfiguration config = new DiscoveryGroupConfiguration(StaticServerLocatorImpl.class.getName(), params, UUIDGenerator.getInstance().generateStringUUID());
       return createServerLocatorWithoutHA(config);
    }
    
@@ -129,14 +134,16 @@
       {
          ClassLoader loader = Thread.currentThread().getContextClassLoader();
          Class<?> clazz = loader.loadClass(className);
-         Constructor<?> constructor = clazz.getConstructor(Boolean.class, DiscoveryGroupConfiguration.class);
+         Constructor<?> constructor = clazz.getConstructor(boolean.class, DiscoveryGroupConfiguration.class);
          serverLocator = (ServerLocator)constructor.newInstance(Boolean.FALSE, groupConfiguration);
       }
       catch(Exception e)
       {
-          new HornetQException(HornetQException.INTERNAL_ERROR, "Could not instantiate ServerLocator implementation class: " + className, e);
+          log.fatal("Could not instantiate ServerLocator implementation class: ", e);
+          return null;
       }
-         return serverLocator;
+      
+      return serverLocator;
    }
    
    /**
@@ -151,8 +158,8 @@
    public static ServerLocator createServerLocatorWithHA(TransportConfiguration... initialServers)
    {
       Map<String,Object> params = new HashMap<String,Object>();
-      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, initialServers);
-      DiscoveryGroupConfiguration config = new DiscoveryGroupConfiguration(StaticServerLocatorImpl.class.getName(), params, null);
+      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, Arrays.asList(initialServers));
+      DiscoveryGroupConfiguration config = new DiscoveryGroupConfiguration(StaticServerLocatorImpl.class.getName(), params, UUIDGenerator.getInstance().generateStringUUID());
       return createServerLocatorWithHA(config);
    }
 
@@ -170,17 +177,19 @@
    {
       ServerLocator serverLocator = null;
       String className = groupConfiguration.getServerLocatorClassName();
-      try
-      {
+
+      try{
          ClassLoader loader = Thread.currentThread().getContextClassLoader();
          Class<?> clazz = loader.loadClass(className);
-         Constructor<?> constructor = clazz.getConstructor(Boolean.class, DiscoveryGroupConfiguration.class);
+         Constructor<?> constructor = clazz.getConstructor(boolean.class, DiscoveryGroupConfiguration.class);
          serverLocator = (ServerLocator)constructor.newInstance(Boolean.TRUE, groupConfiguration);
       }
       catch(Exception e)
       {
-          new HornetQException(HornetQException.INTERNAL_ERROR, "Could not instantiate ServerLocator implementation class: " + className, e);
+         log.fatal("Could not instantiate ServerLocator implementation class", e);
+         return null;
       }
+      
       return serverLocator;
    }
    

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/client/impl/StaticServerLocatorImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/client/impl/StaticServerLocatorImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/client/impl/StaticServerLocatorImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -55,10 +55,6 @@
 
          instantiateLoadBalancingPolicy();
 
-         Map<String,Object> params = getDiscoveryGroupConfiguration().getParams();
-         TransportConfiguration[] initialConnectors = (TransportConfiguration[])params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
-         setInitialConnectors(initialConnectors);
-         
          setReadOnly(true);
       }
    }
@@ -68,6 +64,10 @@
    {
       super(useHA, discoveryGroupConfiguration);
       
+      Map<String,Object> params = discoveryGroupConfiguration.getParams();
+      List<TransportConfiguration> initialConnectors = (List<TransportConfiguration>)params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
+      setInitialConnectors(initialConnectors.toArray(new TransportConfiguration[0]));
+      
       e.fillInStackTrace();
    }
 

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConfiguration.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConfiguration.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConfiguration.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -14,9 +14,11 @@
 package org.hornetq.core.config;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.core.logging.Logger;
 
 /**
@@ -33,21 +35,24 @@
 
    private static final Logger log = Logger.getLogger(BroadcastGroupConfiguration.class);
 
-   private String broadcastGroupClassName;
+   private final String broadcastGroupClassName;
    
-   private Map<String,Object> params;
+   private final Map<String,Object> params;
    
-   private String name;
+   private final String name;
 
+   private final List<TransportConfiguration> connectorList;
+   
    public BroadcastGroupConfiguration(final String clazz,
                                       final Map<String,Object> params,
-                                      final String name)
+                                      final String name,
+                                      final List<TransportConfiguration> connectorList)
    {
       super();
       this.broadcastGroupClassName = clazz;
       this.params = params;
       this.name = name;
-      
+      this.connectorList = connectorList;
    }
 
    public String getBroadcastGroupClassName()
@@ -65,11 +70,9 @@
       return name;
    }
 
-   /**
-    * @param name the name to set
-    */
-   public void setName(final String name)
+   public List<TransportConfiguration> getConnectorList()
    {
-      this.name = name;
+      return connectorList;
    }
+
 }

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConstants.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConstants.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/config/BroadcastGroupConstants.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -28,7 +28,4 @@
    public static final String GROUP_ADDRESS_NAME = "group-address";
    public static final String GROUP_PORT_NAME = "group-port";
    public static final String BROADCAST_PERIOD_NAME = "broadcast-period";
-   public static final String CONNECTOR_REF_LIST_NAME = "connector-ref-list";
-   public static final String CONNECTOR_LIST_NAME = "connector-list";
-   
 }

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/deployers/impl/FileConfigurationParser.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -896,6 +896,25 @@
 
       String clazz = XMLConfigurationUtil.getString(e, "broadcast-group-class", null, Validators.NOT_NULL_OR_EMPTY);
 
+      NodeList children = e.getChildNodes();
+
+      List<TransportConfiguration> connectorList = new ArrayList<TransportConfiguration>();
+
+      for (int j = 0; j < children.getLength(); j++)
+      {
+         Node child = children.item(j);
+
+         if (child.getNodeName().equals("connector-ref"))
+         {
+            String connectorName = XMLConfigurationUtil.getString(e,
+                                                                  "connector-ref",
+                                                                  null,
+                                                                  Validators.NOT_NULL_OR_EMPTY);
+
+            connectorList.add(mainConfig.getConnectorConfigurations().get(connectorName));
+         }
+      }
+      
       Map<String, Object> params = new HashMap<String, Object>();
 
       NodeList paramsNodes = e.getElementsByTagName("param");
@@ -915,19 +934,7 @@
          params.put(key, nValue.getTextContent());
       }
 
-      String connectorList = (String)params.get(BroadcastGroupConstants.CONNECTOR_REF_LIST_NAME);
-      if(connectorList != null)
-      {
-         List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
-         StringTokenizer token = new StringTokenizer(connectorList, ",", false);
-         while(token.hasMoreElements())
-         {
-            connectors.add(mainConfig.getConnectorConfigurations().get(token.nextElement()));
-         }
-         params.put(BroadcastGroupConstants.CONNECTOR_LIST_NAME, connectors.toArray(new TransportConfiguration[0]));
-      }
-      
-      BroadcastGroupConfiguration config = new BroadcastGroupConfiguration(clazz, params, name);
+      BroadcastGroupConfiguration config = new BroadcastGroupConfiguration(clazz, params, name, connectorList);
 
       mainConfig.getBroadcastGroupConfigurations().add(config);
    }
@@ -957,7 +964,7 @@
          params.put(key, nValue.getTextContent());
       }
       
-      String connectorList = (String)params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_CONNECTOR_REF_LIST_NAME);
+      String connectorList = (String)params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_CONNECTOR_NAMES_NAME);
       if(connectorList != null)
       {
          List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
@@ -966,7 +973,7 @@
          {
             connectors.add(mainConfig.getConnectorConfigurations().get(token.nextElement()));
          }
-         params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, connectors.toArray(new TransportConfiguration[0]));
+         params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, connectors);
       }
 
       DiscoveryGroupConfiguration config = new DiscoveryGroupConfiguration(clazz, params, name);

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BridgeControlImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BridgeControlImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BridgeControlImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -13,6 +13,7 @@
 
 package org.hornetq.core.management.impl;
 
+import java.util.List;
 import java.util.Map;
 
 import javax.management.MBeanOperationInfo;
@@ -63,16 +64,16 @@
       try
       {
          Map<String,Object> params = configuration.getDiscoveryGroupConfiguration().getParams();
-         TransportConfiguration[] staticConnectors = (TransportConfiguration[])params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
+         List<TransportConfiguration> staticConnectors = (List<TransportConfiguration>)params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
          if(staticConnectors == null)
          {
             return null;
          }
          
-         String[] staticConnectorNames = new String[staticConnectors.length];
-         for(int i=0; i<staticConnectors.length; i++)
+         String[] staticConnectorNames = new String[staticConnectors.size()];
+         for(int i=0; i<staticConnectors.size(); i++)
          {
-            staticConnectorNames[i] = staticConnectors[i].getName();
+            staticConnectorNames[i] = staticConnectors.get(i).getName();
          }
          return staticConnectorNames;
       }

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BroadcastGroupControlImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BroadcastGroupControlImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/BroadcastGroupControlImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -13,6 +13,7 @@
 
 package org.hornetq.core.management.impl;
 
+import java.util.List;
 import java.util.Map;
 
 import javax.management.MBeanOperationInfo;
@@ -98,10 +99,9 @@
       clearIO();
       try
       {
-         Map<String,Object> params = configuration.getParams();
-         TransportConfiguration[] connectors = (TransportConfiguration[])params.get(BroadcastGroupConstants.CONNECTOR_LIST_NAME);
+         List<TransportConfiguration> connectors = configuration.getConnectorList();
          
-         Object[] ret = new Object[connectors.length];
+         Object[] ret = new Object[connectors.size()];
 
          int i = 0;
          for (TransportConfiguration conn : connectors)
@@ -124,8 +124,7 @@
       {
          JSONArray array = new JSONArray();
 
-         Map<String,Object> params = configuration.getParams();
-         TransportConfiguration[] connectors = (TransportConfiguration[])params.get(BroadcastGroupConstants.CONNECTOR_LIST_NAME);
+         List<TransportConfiguration> connectors = configuration.getConnectorList();
          
          for (TransportConfiguration conn : connectors)
          {

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/ClusterConnectionControlImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/ClusterConnectionControlImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/ClusterConnectionControlImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -146,16 +146,16 @@
       try
       {
          Map<String,Object> params = configuration.getDiscoveryGroupConfiguration().getParams();
-         TransportConfiguration[] staticConnectors = (TransportConfiguration[])params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
+         List<TransportConfiguration> staticConnectors = (List<TransportConfiguration>)params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
          if(staticConnectors == null)
          {
             return null;
          }
          
-         String[] staticConnectorNames = new String[staticConnectors.length];
-         for(int i=0; i<staticConnectors.length; i++)
+         String[] staticConnectorNames = new String[staticConnectors.size()];
+         for(int i=0; i<staticConnectors.size(); i++)
          {
-            staticConnectorNames[i] = staticConnectors[i].getName();
+            staticConnectorNames[i] = staticConnectors.get(i).getName();
          }
          return staticConnectorNames;
       }

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -1916,8 +1916,8 @@
       }
       
       Map<String,Object> params = new HashMap<String,Object>();
-      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_CONNECTOR_REF_LIST_NAME, connectors);
-      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, connectorConfigs.toArray(new TransportConfiguration[0]));
+      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_CONNECTOR_NAMES_NAME, connectors);
+      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, connectorConfigs);
       DiscoveryGroupConfiguration groupConf = new DiscoveryGroupConfiguration(StaticServerLocatorImpl.class.getName(), params, name);
       configuration.getDiscoveryGroupConfigurations().put(groupConf.getName(), groupConf);
    }

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/BroadcastGroupImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/BroadcastGroupImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/BroadcastGroupImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -57,7 +57,7 @@
    
    private DatagramSocket socket;
 
-   private final List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+   private final List<TransportConfiguration> connectors;
 
    private boolean started;
 
@@ -88,6 +88,8 @@
       this.broadcastGroupConfiguration = config;
       
       uniqueID = UUIDGenerator.getInstance().generateStringUUID();
+    
+      this.connectors = config.getConnectorList();
    }
 
    public void setNotificationService(final NotificationService notificationService)

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -310,9 +310,8 @@
       if(this.allowableConnectionsOnly)
       {
          Map<String,Object> params = discoveryGroupConfiguration.getParams();
-         TransportConfiguration[] sc = (TransportConfiguration[])params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
-         List<TransportConfiguration> staticConnectors = java.util.Arrays.asList(sc);
-         this.allowableConnections.addAll(staticConnectors);
+         List<TransportConfiguration> sc = (List<TransportConfiguration>)params.get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
+         this.allowableConnections.addAll(sc);
       }
    }
    

Modified: branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java
===================================================================
--- branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/src/main/org/hornetq/core/server/cluster/impl/ClusterManagerImpl.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -504,7 +504,7 @@
 
       ClassLoader loader = Thread.currentThread().getContextClassLoader();
       Class<?> clazz = loader.loadClass(className);
-      Constructor<?> constructor = clazz.getConstructor(String.class, String.class, Boolean.class, DiscoveryGroupConfiguration.class);
+      Constructor<?> constructor = clazz.getConstructor(String.class, String.class, boolean.class, BroadcastGroupConfiguration.class);
       BroadcastGroup group = (BroadcastGroup)constructor.newInstance(nodeUUID.toString(), config.getName(), !backup, config);
       
       if (group.size() == 0)

Modified: branches/HORNETQ-316/tests/config/ConfigurationTest-full-config.xml
===================================================================
--- branches/HORNETQ-316/tests/config/ConfigurationTest-full-config.xml	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/config/ConfigurationTest-full-config.xml	2011-02-20 14:34:41 UTC (rev 10233)
@@ -83,33 +83,45 @@
       </acceptors>
       <broadcast-groups>
 	     <broadcast-group name="bg1">
-	        <local-bind-port>10999</local-bind-port>
-	        <group-address>192.168.0.120</group-address>
-	        <group-port>11999</group-port>
-            <broadcast-period>12345</broadcast-period>
+         	<broadcast-group-class>org.hornetq.core.server.cluster.impl.BroadcastGroupImpl</broadcast-group-class>
             <connector-ref>connector1</connector-ref>
+	        <param key="local-bind-port" value="10999"/>
+	        <param key="group-address" value="192.168.0.120"/>
+	        <param key="group-port" value="11999"/>
+            <param key="broadcast-period" value="12345"/>
 	     </broadcast-group>
          <broadcast-group name="bg2">
-            <local-bind-port>12999</local-bind-port>
-            <group-address>192.168.0.121</group-address>
-            <group-port>13999</group-port>
-            <broadcast-period>23456</broadcast-period>
+         	<broadcast-group-class>org.hornetq.core.server.cluster.impl.BroadcastGroupImpl</broadcast-group-class>
             <connector-ref>connector2</connector-ref>
+            <param key="local-bind-port" value="12999"/>
+            <param key="group-address" value="192.168.0.121"/>
+            <param key="group-port" value="13999"/>
+            <param key="broadcast-period" value="23456"/>
          </broadcast-group>
       </broadcast-groups>
       <discovery-groups>
          <discovery-group name="dg1">
-            <local-bind-address>172.16.8.10</local-bind-address>
-            <group-address>192.168.0.120</group-address>
-            <group-port>11999</group-port>
-            <refresh-timeout>12345</refresh-timeout>
+         	<server-locator-class>org.hornetq.core.client.impl.SimpleUDPServerLocatorImpl</server-locator-class>
+            <param key="local-bind-address" value="172.16.8.10"/>
+            <param key="group-address" value="192.168.0.120"/>
+            <param key="group-port" value="11999"/>
+            <param key="refresh-timeout" value="12345"/>
          </discovery-group>
          <discovery-group name="dg2">
-            <local-bind-address>172.16.8.11</local-bind-address>
-            <group-address>192.168.0.121</group-address>
-            <group-port>12999</group-port>
-            <refresh-timeout>23456</refresh-timeout>
+         	<server-locator-class>org.hornetq.core.client.impl.SimpleUDPServerLocatorImpl</server-locator-class>
+            <param key="local-bind-address" value="172.16.8.11"/>
+            <param key="group-address" value="192.168.0.121"/>
+            <param key="group-port" value="12999"/>
+            <param key="refresh-timeout" value="23456"/>
          </discovery-group>
+         <discovery-group name="sdg1">
+         	<server-locator-class>org.hornetq.core.client.impl.StaticServerLocatorImpl</server-locator-class>
+         	<param key="static-connector-names" value="connector1"/>
+         </discovery-group>
+         <discovery-group name="sdg12">
+         	<server-locator-class>org.hornetq.core.client.impl.StaticServerLocatorImpl</server-locator-class>
+         	<param key="static-connector-names" value="connector1,connector2"/>
+         </discovery-group>
       </discovery-groups>
       <diverts>
          <divert name="divert1">         
@@ -152,9 +164,7 @@
              <reconnect-attempts>2</reconnect-attempts>
              <failover-on-server-shutdown>false</failover-on-server-shutdown>
              <use-duplicate-detection>true</use-duplicate-detection>
-             <static-connectors>
-               <connector-ref>connector1</connector-ref>
-             </static-connectors>
+             <discovery-group-ref discovery-group-name="sdg1"/>
          </bridge>
          <bridge name="bridge2">
              <queue-name>queue2</queue-name>
@@ -170,10 +180,7 @@
              <use-duplicate-detection>true</use-duplicate-detection>
              <forward-when-no-consumers>false</forward-when-no-consumers>
              <max-hops>1</max-hops>
-            <static-connectors>
-               <connector-ref>connector1</connector-ref>
-               <connector-ref>connector2</connector-ref>
-            </static-connectors>
+             <discovery-group-ref discovery-group-name="sdg12"/>
          </cluster-connection>
          <cluster-connection name="cluster-connection2">
              <address>queues2</address>

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/client/SessionFactoryTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/client/SessionFactoryTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/client/SessionFactoryTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -160,7 +160,7 @@
 
       assertFactoryParams(locator,
                           tc,
-                          null,
+                          locator.getDiscoveryGroupConfiguration(),
                           HornetQClient.DEFAULT_CLIENT_FAILURE_CHECK_PERIOD,
                           HornetQClient.DEFAULT_CONNECTION_TTL,
                           HornetQClient.DEFAULT_CALL_TIMEOUT,
@@ -587,7 +587,7 @@
                                                                               getUDPDiscoveryAddress(),
                                                                               getUDPDiscoveryPort(),
                                                                               broadcastPeriod,
-                                                                              Arrays.asList(liveTC.getName()));
+                                                                              Arrays.asList(liveTC));
 
       List<BroadcastGroupConfiguration> bcConfigs1 = new ArrayList<BroadcastGroupConfiguration>();
       bcConfigs1.add(bcConfig1);

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/clientcrash/ClientCrashTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/clientcrash/ClientCrashTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/clientcrash/ClientCrashTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -115,7 +115,7 @@
    }
    
    public void testCrashClient2() throws Exception
-   {     
+   {
       assertActiveConnections(1);
 
       ClientSession session = sf.createSession(false, true, true);

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/bridge/BridgeWithDiscoveryGroupStartTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -91,8 +91,8 @@
          final int port = getUDPDiscoveryPort();
 
 
-         ArrayList<String> list = new ArrayList<String>();
-         list.add(server1tc.getName());
+         ArrayList<TransportConfiguration> list = new ArrayList<TransportConfiguration>();
+         list.add(server1tc);
          BroadcastGroupConfiguration bcConfig = createBroadcastGroupConfiguration("bg1",
                                                                                 null,
                                                                                 -1,

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -1462,8 +1462,8 @@
         TransportConfiguration connector = createTransportConfiguration(netty, false, params);
         configuration.getConnectorConfigurations().put(connector.getName(), connector);
 
-        List<String> connectorPairs = new ArrayList<String>();
-        connectorPairs.add(connector.getName());
+        List<TransportConfiguration> connectorPairs = new ArrayList<TransportConfiguration>();
+        connectorPairs.add(connector);
 
         BroadcastGroupConfiguration bcConfig = createBroadcastGroupConfiguration("bg1",
                                                                                  null,
@@ -1549,8 +1549,8 @@
         TransportConfiguration connector = createTransportConfiguration(netty, false, params);
         configuration.getConnectorConfigurations().put(connector.getName(), connector);
 
-        List<String> connectorPairs = new ArrayList<String>();
-        connectorPairs.add(connector.getName());
+        List<TransportConfiguration> connectorPairs = new ArrayList<TransportConfiguration>();
+        connectorPairs.add(connector);
 
         BroadcastGroupConfiguration bcConfig = createBroadcastGroupConfiguration("bg1",
                                                                                  null,

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/discovery/DiscoveryTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -77,15 +77,14 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(nodeID, broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      bg.addConnector(live1);
-
       DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                  RandomUtil.randomString(),
                                                  null,
@@ -163,15 +162,14 @@
       params.put(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME, 6552);
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(nodeID, broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      bg.addConnector(live1);
-
       DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                  RandomUtil.randomString(),
                                                  localAddress,
@@ -207,16 +205,14 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(nodeID, broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-
-      bg.addConnector(live1);
-
       DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                  RandomUtil.randomString(),
                                                  null,
@@ -264,16 +260,14 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(nodeID, broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-
-      bg.addConnector(live1);
-
       DiscoveryGroup dg = new DiscoveryGroupImpl(nodeID, RandomUtil.randomString(), null, groupAddress, groupPort, timeout);
 
       dg.start();
@@ -347,15 +341,14 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(RandomUtil.randomString(), broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      bg.addConnector(live1);
-
       final int port2 = getUDPDiscoveryPort(1);
 
       DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
@@ -387,15 +380,14 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(RandomUtil.randomString(), broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      bg.addConnector(live1);
-
       final InetAddress groupAddress2 = InetAddress.getByName(DiscoveryTest.address2);
       final int port2 = getUDPDiscoveryPort(1);
 
@@ -441,34 +433,33 @@
       Map<String,Object> params1 = new HashMap<String,Object>();
       params1.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress1);
       params1.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort1);
-      BroadcastGroupConfiguration broadcastConf1 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params1, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors1 = new ArrayList<TransportConfiguration>();
+      connectors1.add(live1);
+      BroadcastGroupConfiguration broadcastConf1 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params1, RandomUtil.randomString(), connectors1);
       BroadcastGroup bg1 = new BroadcastGroupImpl(node1, broadcastConf1.getName(), true, broadcastConf1);
       bg1.start();
 
       Map<String,Object> params2 = new HashMap<String,Object>();
       params2.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress2);
       params2.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort2);
-      BroadcastGroupConfiguration broadcastConf2 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params2, RandomUtil.randomString());
+      TransportConfiguration live2 = generateTC();
+      List<TransportConfiguration> connectors2 = new ArrayList<TransportConfiguration>();
+      connectors2.add(live2);
+      BroadcastGroupConfiguration broadcastConf2 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params2, RandomUtil.randomString(), connectors2);
       BroadcastGroup bg2 = new BroadcastGroupImpl(node2, broadcastConf2.getName(), true, broadcastConf2);
       bg2.start();
 
       Map<String,Object> params3 = new HashMap<String,Object>();
       params3.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress3);
       params3.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort3);
-      BroadcastGroupConfiguration broadcastConf3 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params3, RandomUtil.randomString());
+      TransportConfiguration live3 = generateTC();
+      List<TransportConfiguration> connectors3 = new ArrayList<TransportConfiguration>();
+      connectors3.add(live3);
+      BroadcastGroupConfiguration broadcastConf3 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params3, RandomUtil.randomString(), connectors3);
       BroadcastGroup bg3 = new BroadcastGroupImpl(node3, broadcastConf3.getName(), true, broadcastConf3);
       bg3.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      TransportConfiguration live2 = generateTC();
-
-      TransportConfiguration live3 = generateTC();
-
-      bg1.addConnector(live1);
-      bg2.addConnector(live2);
-      bg3.addConnector(live3);
-
       DiscoveryGroup dg1 = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                   RandomUtil.randomString(),
                                                   null,
@@ -577,15 +568,14 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(nodeID, broadcastConf.getName(), true, broadcastConf);
 
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      bg.addConnector(live1);
-
       DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                  RandomUtil.randomString(),
                                                  null,
@@ -642,27 +632,28 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf1 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors1 = new ArrayList<TransportConfiguration>();
+      connectors1.add(live1);
+      BroadcastGroupConfiguration broadcastConf1 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors1);
       BroadcastGroup bg1 = new BroadcastGroupImpl(node1, broadcastConf1.getName(), true, broadcastConf1);
       bg1.start();
 
-      BroadcastGroupConfiguration broadcastConf2 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live2 = generateTC();
+      List<TransportConfiguration> connectors2 = new ArrayList<TransportConfiguration>();
+      connectors2.add(live2);
+      BroadcastGroupConfiguration broadcastConf2 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors2);
       BroadcastGroup bg2 = new BroadcastGroupImpl(node2, broadcastConf2.getName(), true, broadcastConf2);
       bg2.start();
 
-      BroadcastGroupConfiguration broadcastConf3 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live3 = generateTC();
+      List<TransportConfiguration> connectors3 = new ArrayList<TransportConfiguration>();
+      connectors3.add(live3);
+      BroadcastGroupConfiguration broadcastConf3 = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors3);
       BroadcastGroup bg3 = new BroadcastGroupImpl(node3, broadcastConf3.getName(), true, broadcastConf3);
       bg3.start();
 
-      TransportConfiguration live1 = generateTC();
-      bg1.addConnector(live1);
-
-      TransportConfiguration live2 = generateTC();
-      bg2.addConnector(live2);
-
-      TransportConfiguration live3 = generateTC();
-      bg3.addConnector(live3);
-
       DiscoveryGroup dg = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                  RandomUtil.randomString(),
                                                  null,
@@ -818,14 +809,13 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      TransportConfiguration live1 = generateTC();
+      List<TransportConfiguration> connectors = new ArrayList<TransportConfiguration>();
+      connectors.add(live1);
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), connectors);
       BroadcastGroup bg = new BroadcastGroupImpl(nodeID, broadcastConf.getName(), true, broadcastConf);
       bg.start();
 
-      TransportConfiguration live1 = generateTC();
-
-      bg.addConnector(live1);
-
       DiscoveryGroup dg1 = new DiscoveryGroupImpl(RandomUtil.randomString(),
                                                   RandomUtil.randomString(),
                                                   null,
@@ -926,7 +916,7 @@
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
-      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString());
+      BroadcastGroupConfiguration broadcastConf = new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, RandomUtil.randomString(), new ArrayList<TransportConfiguration>());
       BroadcastGroup bg = new BroadcastGroupImpl(RandomUtil.randomString(), broadcastConf.getName(), true, broadcastConf);
       bg.setNotificationService(notifService);
 

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/jms/HornetQConnectionFactoryTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -715,8 +715,8 @@
       liveConf.setSharedStore(true);
       liveConf.setClustered(true);
 
-      List<String> connectorNames = new ArrayList<String>();
-      connectorNames.add(liveTC.getName());
+      List<TransportConfiguration> connectorNames = new ArrayList<TransportConfiguration>();
+      connectorNames.add(liveTC);
 
       final long broadcastPeriod = 250;
 

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -86,8 +86,8 @@
       Assert.assertEquals(bridgeConfig.isUseDuplicateDetection(), bridgeControl.isUseDuplicateDetection());
 
       String[] connectorPairData = bridgeControl.getStaticConnectors();
-      TransportConfiguration[] connectors = (TransportConfiguration[])bridgeConfig.getDiscoveryGroupConfiguration().getParams().get((DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME));  
-      Assert.assertEquals(connectors[0].getName(), connectorPairData[0]);
+      List<TransportConfiguration> connectors = (List<TransportConfiguration>)bridgeConfig.getDiscoveryGroupConfiguration().getParams().get((DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME));  
+      Assert.assertEquals(connectors.get(0).getName(), connectorPairData[0]);
 
       Assert.assertTrue(bridgeControl.isStarted());
    }

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BridgeControlUsingCoreTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -92,8 +92,8 @@
                           ((Boolean)proxy.retrieveAttributeValue("useDuplicateDetection")).booleanValue());
 
       Object[] data = (Object[])proxy.retrieveAttributeValue("staticConnectors");
-      TransportConfiguration[] connectors = (TransportConfiguration[])bridgeConfig.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME); 
-      Assert.assertEquals(connectors[0].getName(), data[0]);
+      List<TransportConfiguration> connectors = (List<TransportConfiguration>)bridgeConfig.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME); 
+      Assert.assertEquals(connectors.get(0).getName(), data[0]);
 
       Assert.assertTrue((Boolean)proxy.retrieveAttributeValue("started"));
    }

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BroadcastGroupControlTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BroadcastGroupControlTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/BroadcastGroupControlTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -53,7 +53,7 @@
 
    // Static --------------------------------------------------------
 
-   public static BroadcastGroupConfiguration randomBroadcastGroupConfiguration(final List<String> connectorInfos)
+   public static BroadcastGroupConfiguration randomBroadcastGroupConfiguration(final List<TransportConfiguration> connectorList)
    {
       return createBroadcastGroupConfiguration(RandomUtil.randomString(),
                                                null,
@@ -61,7 +61,7 @@
                                                "231.7.7.7",
                                                1199,
                                                RandomUtil.randomPositiveInt(),
-                                               connectorInfos);
+                                               connectorList);
    }
 
    public static Pair<String, String> randomPair()
@@ -76,9 +76,9 @@
    public void testAttributes() throws Exception
    {
       TransportConfiguration connectorConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName());
-      List<String> connectorInfos = new ArrayList<String>();
-      connectorInfos.add(connectorConfiguration.getName());
-      BroadcastGroupConfiguration broadcastGroupConfig = BroadcastGroupControlTest.randomBroadcastGroupConfiguration(connectorInfos);
+      List<TransportConfiguration> connectorList = new ArrayList<TransportConfiguration>();
+      connectorList.add(connectorConfiguration);
+      BroadcastGroupConfiguration broadcastGroupConfig = BroadcastGroupControlTest.randomBroadcastGroupConfiguration(connectorList);
 
       Configuration conf = createBasicConfig();
       conf.setSecurityEnabled(false);
@@ -102,13 +102,13 @@
       Assert.assertEquals(1, connectorPairs.length);
       System.out.println(connectorPairs);
       String connectorPairData = (String)connectorPairs[0];
-      TransportConfiguration[] connectors = (TransportConfiguration[])broadcastGroupConfig.getParams().get(BroadcastGroupConstants.CONNECTOR_LIST_NAME);
-      Assert.assertEquals(connectors[0].getName(), connectorPairData);
+      List<TransportConfiguration> connectors = broadcastGroupConfig.getConnectorList();
+      Assert.assertEquals(connectors.get(0).getName(), connectorPairData);
       String jsonString = broadcastGroupControl.getConnectorPairsAsJSON();
       Assert.assertNotNull(jsonString);
       JSONArray array = new JSONArray(jsonString);
       Assert.assertEquals(1, array.length());
-      Assert.assertEquals(connectors[0].getName(), array.getString(0));
+      Assert.assertEquals(connectors.get(0).getName(), array.getString(0));
       
       Assert.assertTrue(broadcastGroupControl.isStarted());
    }
@@ -116,9 +116,9 @@
    public void testStartStop() throws Exception
    {
       TransportConfiguration connectorConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName());
-      List<String> connectorInfos = new ArrayList<String>();
-      connectorInfos.add(connectorConfiguration.getName());
-      BroadcastGroupConfiguration broadcastGroupConfig = BroadcastGroupControlTest.randomBroadcastGroupConfiguration(connectorInfos);
+      List<TransportConfiguration> connectorList = new ArrayList<TransportConfiguration>();
+      connectorList.add(connectorConfiguration);
+      BroadcastGroupConfiguration broadcastGroupConfig = BroadcastGroupControlTest.randomBroadcastGroupConfiguration(connectorList);
 
       Configuration conf = createBasicConfig();
       conf.setSecurityEnabled(false);

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControl2Test.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -147,15 +147,15 @@
                                                                      1024,
                                                                      discoveryGroupConfig,
                                                                      false);
-      List<String> connectorInfos = new ArrayList<String>();
-      connectorInfos.add("netty");
+      List<TransportConfiguration> connectorList = new ArrayList<TransportConfiguration>();
+      connectorList.add(connectorConfig_0);
       BroadcastGroupConfiguration broadcastGroupConfig = createBroadcastGroupConfiguration(discoveryName,
                                                                                            null,
                                                                                            -1,
                                                                                            groupAddress,
                                                                                            groupPort,
                                                                                            250,
-                                                                                           connectorInfos);
+                                                                                           connectorList);
 
       Configuration conf_1 = createBasicConfig();
       conf_1.setSecurityEnabled(false);

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/integration/management/ClusterConnectionControlTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -94,14 +94,14 @@
       Object[] connectors = clusterConnectionControl.getStaticConnectors();
       Assert.assertEquals(1, connectors.length);
       String connector = (String)connectors[0];
-      TransportConfiguration[] clusterConnectors = (TransportConfiguration[])clusterConnectionConfig1.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
-      Assert.assertEquals(clusterConnectors[0].getName(), connector);
+      List<TransportConfiguration> clusterConnectors = (List<TransportConfiguration>)clusterConnectionConfig1.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME);
+      Assert.assertEquals(clusterConnectors.get(0).getName(), connector);
 
       String jsonString = clusterConnectionControl.getStaticConnectorsAsJSON();
       Assert.assertNotNull(jsonString);
       JSONArray array = new JSONArray(jsonString);
       Assert.assertEquals(1, array.length());
-      Assert.assertEquals(clusterConnectors[0].getName(), array.getString(0));
+      Assert.assertEquals(clusterConnectors.get(0).getName(), array.getString(0));
       
       Assert.assertNull(clusterConnectionControl.getDiscoveryGroupName());
 

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/unit/core/config/impl/FileConfigurationTest.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -139,38 +139,49 @@
          if (bc.getName().equals("bg1"))
          {
             Assert.assertEquals("bg1", bc.getName());
-            Assert.assertEquals(10999, bc.getParams().get(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME));
+            Assert.assertEquals(10999, new Integer((String)bc.getParams().get(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME)).intValue());
             Assert.assertEquals("192.168.0.120", bc.getParams().get(BroadcastGroupConstants.GROUP_ADDRESS_NAME));
-            Assert.assertEquals(11999, bc.getParams().get(BroadcastGroupConstants.GROUP_PORT_NAME));
-            Assert.assertEquals(12345, bc.getParams().get(BroadcastGroupConstants.BROADCAST_PERIOD_NAME));
-            Assert.assertEquals("connector1", ((List<String>)bc.getParams().get(BroadcastGroupConstants.CONNECTOR_REF_LIST_NAME)).get(0));
+            Assert.assertEquals(11999, new Integer((String)bc.getParams().get(BroadcastGroupConstants.GROUP_PORT_NAME)).intValue());
+            Assert.assertEquals(12345, new Long((String)bc.getParams().get(BroadcastGroupConstants.BROADCAST_PERIOD_NAME)).longValue());
+            Assert.assertEquals("connector1", bc.getConnectorList().get(0).getName());
          }
          else
          {
             Assert.assertEquals("bg2", bc.getName());
-            Assert.assertEquals(12999, bc.getParams().get(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME));
+            Assert.assertEquals(12999, new Integer((String)bc.getParams().get(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME)).intValue());
             Assert.assertEquals("192.168.0.121", bc.getParams().get(BroadcastGroupConstants.GROUP_ADDRESS_NAME));
-            Assert.assertEquals(13999, bc.getParams().get(BroadcastGroupConstants.GROUP_PORT_NAME));
-            Assert.assertEquals(23456, bc.getParams().get(BroadcastGroupConstants.BROADCAST_PERIOD_NAME));
-            Assert.assertEquals("connector2", ((List<String>)bc.getParams().get(BroadcastGroupConstants.CONNECTOR_REF_LIST_NAME)).get(0));
+            Assert.assertEquals(13999, new Integer((String)bc.getParams().get(BroadcastGroupConstants.GROUP_PORT_NAME)).intValue());
+            Assert.assertEquals(23456, new Long((String)bc.getParams().get(BroadcastGroupConstants.BROADCAST_PERIOD_NAME)).longValue());
+            Assert.assertEquals("connector2", bc.getConnectorList().get(0).getName());
          }
       }
 
-      Assert.assertEquals(2, conf.getDiscoveryGroupConfigurations().size());
+      Assert.assertEquals(4, conf.getDiscoveryGroupConfigurations().size());
       DiscoveryGroupConfiguration dc = conf.getDiscoveryGroupConfigurations().get("dg1");
       Assert.assertEquals("dg1", dc.getName());
       Assert.assertEquals("192.168.0.120", dc.getParams().get(DiscoveryGroupConstants.GROUP_ADDRESS_NAME));
       assertEquals("172.16.8.10", dc.getParams().get(DiscoveryGroupConstants.LOCAL_BIND_ADDRESS_NAME));
-      Assert.assertEquals(11999, dc.getParams().get(DiscoveryGroupConstants.GROUP_PORT_NAME));
-      Assert.assertEquals(12345, dc.getParams().get(DiscoveryGroupConstants.REFRESH_TIMEOUT_NAME));
+      Assert.assertEquals(11999, new Integer((String)dc.getParams().get(DiscoveryGroupConstants.GROUP_PORT_NAME)).intValue());
+      Assert.assertEquals(12345, new Long((String)dc.getParams().get(DiscoveryGroupConstants.REFRESH_TIMEOUT_NAME)).longValue());
 
       dc = conf.getDiscoveryGroupConfigurations().get("dg2");
       Assert.assertEquals("dg2", dc.getName());
       Assert.assertEquals("192.168.0.121", dc.getParams().get(DiscoveryGroupConstants.GROUP_ADDRESS_NAME));
       assertEquals("172.16.8.11", dc.getParams().get(DiscoveryGroupConstants.LOCAL_BIND_ADDRESS_NAME));
-      Assert.assertEquals(12999, dc.getParams().get(DiscoveryGroupConstants.GROUP_PORT_NAME));
-      Assert.assertEquals(23456, dc.getParams().get(DiscoveryGroupConstants.REFRESH_TIMEOUT_NAME));
+      Assert.assertEquals(12999, new Integer((String)dc.getParams().get(DiscoveryGroupConstants.GROUP_PORT_NAME)).intValue());
+      Assert.assertEquals(23456, new Long((String)dc.getParams().get(DiscoveryGroupConstants.REFRESH_TIMEOUT_NAME)).longValue());
 
+      dc = conf.getDiscoveryGroupConfigurations().get("sdg1");
+      Assert.assertEquals("sdg1", dc.getName());
+      Assert.assertEquals("connector1", dc.getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_CONNECTOR_NAMES_NAME));
+      Assert.assertEquals("connector1", ((List<TransportConfiguration>)dc.getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME)).get(0).getName());
+
+      dc = conf.getDiscoveryGroupConfigurations().get("sdg12");
+      Assert.assertEquals("sdg12", dc.getName());
+      Assert.assertEquals("connector1,connector2", dc.getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_CONNECTOR_NAMES_NAME));
+      Assert.assertEquals("connector1", ((List<TransportConfiguration>)dc.getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME)).get(0).getName());
+      Assert.assertEquals("connector2", ((List<TransportConfiguration>)dc.getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME)).get(1).getName());
+
       Assert.assertEquals(2, conf.getDivertConfigurations().size());
       for (DivertConfiguration dic : conf.getDivertConfigurations())
       {
@@ -210,7 +221,7 @@
             Assert.assertEquals(0.2, bc.getRetryIntervalMultiplier());
             Assert.assertEquals(2, bc.getReconnectAttempts());
             Assert.assertEquals(true, bc.isUseDuplicateDetection());
-            Assert.assertEquals("connector1", ((TransportConfiguration[])bc.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME))[0].getName());
+            Assert.assertEquals("connector1", ((List<TransportConfiguration>)bc.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME)).get(0).getName());
          }
          else
          {
@@ -234,8 +245,8 @@
             Assert.assertEquals(true, ccc.isDuplicateDetection());
             Assert.assertEquals(false, ccc.isForwardWhenNoConsumers());
             Assert.assertEquals(1, ccc.getMaxHops());
-            Assert.assertEquals("connector1", ((TransportConfiguration[])ccc.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME))[0].getName());
-            Assert.assertEquals("connector2", ((TransportConfiguration[])ccc.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME))[1].getName());
+            Assert.assertEquals("connector1", ((List<TransportConfiguration>)ccc.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME)).get(0).getName());
+            Assert.assertEquals("connector2", ((List<TransportConfiguration>)ccc.getDiscoveryGroupConfiguration().getParams().get(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME)).get(1).getName());
          }
          else
          {

Modified: branches/HORNETQ-316/tests/src/org/hornetq/tests/util/UnitTestCase.java
===================================================================
--- branches/HORNETQ-316/tests/src/org/hornetq/tests/util/UnitTestCase.java	2011-02-20 05:37:37 UTC (rev 10232)
+++ branches/HORNETQ-316/tests/src/org/hornetq/tests/util/UnitTestCase.java	2011-02-20 14:34:41 UTC (rev 10233)
@@ -31,6 +31,7 @@
 import java.net.ServerSocket;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -264,7 +265,7 @@
    protected static DiscoveryGroupConfiguration createStaticDiscoveryGroupConfiguration(TransportConfiguration... connectors)
    {
       Map<String,Object> params = new HashMap<String,Object>();
-      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, connectors);
+      params.put(DiscoveryGroupConstants.STATIC_CONNECTORS_LIST_NAME, Arrays.asList(connectors));
       return new DiscoveryGroupConfiguration(StaticServerLocatorImpl.class.getName(),
                                              params,
                                              UUIDGenerator.getInstance().generateStringUUID());
@@ -276,16 +277,15 @@
                                                                                   String groupAddress,
                                                                                   int groupPort,
                                                                                   long broadcastPeriod,
-                                                                                  List<String> connectorInfos)
+                                                                                  List<TransportConfiguration> connectorList)
    {
       Map<String,Object> params = new HashMap<String,Object>();
       params.put(BroadcastGroupConstants.LOCAL_BIND_ADDRESS_NAME, localBindAddress);
-      params.put(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME, localBindPort);
+      params.put(BroadcastGroupConstants.LOCAL_BIND_PORT_NAME, Integer.toString(localBindPort));
       params.put(BroadcastGroupConstants.GROUP_ADDRESS_NAME, groupAddress);
-      params.put(BroadcastGroupConstants.GROUP_PORT_NAME, groupPort);
-      params.put(BroadcastGroupConstants.BROADCAST_PERIOD_NAME, broadcastPeriod);
-      params.put(BroadcastGroupConstants.CONNECTOR_REF_LIST_NAME, connectorInfos);
-      return new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, name);
+      params.put(BroadcastGroupConstants.GROUP_PORT_NAME, Integer.toString(groupPort));
+      params.put(BroadcastGroupConstants.BROADCAST_PERIOD_NAME, Long.toString(broadcastPeriod));
+      return new BroadcastGroupConfiguration(BroadcastGroupImpl.class.getName(), params, name, connectorList);
    }
    
    public static int getUDPDiscoveryPort()



More information about the hornetq-commits mailing list