[jboss-cvs] JBoss Messaging SVN: r6691 - in trunk: src/main/org/jboss/messaging/jms/server/management and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 6 09:39:25 EDT 2009


Author: jmesnil
Date: 2009-05-06 09:39:25 -0400 (Wed, 06 May 2009)
New Revision: 6691

Modified:
   trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
   trunk/src/main/org/jboss/messaging/jms/server/management/JMSServerControlMBean.java
   trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSServerControl.java
   trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java
Log:
management refactoring

* fixed JSON serialization
* uncommented JMSServerControl tests

Modified: trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2009-05-06 12:09:27 UTC (rev 6690)
+++ trunk/src/main/org/jboss/messaging/core/management/impl/ManagementServiceImpl.java	2009-05-06 13:39:25 UTC (rev 6691)
@@ -699,21 +699,41 @@
       {
          if (m.getName().equals(operation) && m.getParameterTypes().length == params.length)
          {
+            boolean match = true;
+
             Class<?>[] paramTypes = m.getParameterTypes();
 
             for (int i = 0; i < paramTypes.length; i++)
             {
-               if (params[i] != null 
-                        && !(params[i].getClass().isArray())
-                        && params[i].getClass().isAssignableFrom(paramTypes[i].getClass()))
-               {
+               if (params[i] == null)
+               { 
                   continue;
                }
+               // System.out.format("param=%s, expecting=%s\n", params[i].getClass(), paramTypes[i]);
+               // System.out.println(!paramTypes[i].isAssignableFrom(params[i].getClass()));
+               // System.out.println(paramTypes[i] == Long.TYPE && params[i].getClass() == Integer.class);
+               if (paramTypes[i].isAssignableFrom(params[i].getClass())
+                       || (paramTypes[i] == Long.TYPE && params[i].getClass() == Integer.class)
+                       || (paramTypes[i] == Double.TYPE && params[i].getClass() == Integer.class)
+                       || (paramTypes[i] == Long.TYPE && params[i].getClass() == Long.class)
+                       || (paramTypes[i] == Double.TYPE && params[i].getClass() == Double.class)
+                       || (paramTypes[i] == Integer.TYPE && params[i].getClass() == Integer.class)
+                       || (paramTypes[i] == Boolean.TYPE && params[i].getClass() == Boolean.class))
+               {
+                  // parameter match
+               }
+               else
+               {
+                  match = false;
+                  break; // parameter check loop
+               }
             }
-
-            method = m;
-
-            break;
+            
+            if (match)
+            {
+               method = m;
+               break; // method match loop
+            }
          }
       }
 
@@ -721,6 +741,22 @@
       {
          throw new IllegalArgumentException("no operation " + operation + "/" + params.length);
       }
+      // System.out.println(method.getName());
+      // for (Class<?> parameters : method.getParameterTypes())
+      // {
+      // System.out.println(parameters);
+      // }
+      // System.out.println("===");
+      // for (Object object : params)
+      // {
+      // if (object == null)
+      // {
+      // System.out.println("null");
+      // } else
+      // {
+      // System.out.println(object.getClass());
+      // }
+      // }
       Object result = method.invoke(resource, params);
 
       return result;

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/JMSServerControlMBean.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/JMSServerControlMBean.java	2009-05-06 12:09:27 UTC (rev 6690)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/JMSServerControlMBean.java	2009-05-06 13:39:25 UTC (rev 6691)
@@ -66,25 +66,25 @@
    String name) throws Exception;
 
    void createConnectionFactory(String name,
-                                String[] liveConnectorsTransportClassNames,
-                                Map<String, Object>[] liveConnectorTransportParams,
-                                String[] backupConnectorsTransportClassNames,
-                                Map<String, Object>[] backupConnectorTransportParams,
-                                String[] jndiBindings) throws Exception;
+                                Object[] liveConnectorsTransportClassNames,
+                                Object[] liveConnectorTransportParams,
+                                Object[] backupConnectorsTransportClassNames,
+                                Object[] backupConnectorTransportParams,
+                                Object[] bindings) throws Exception;
 
    void createConnectionFactory(String name,
-                                String[] liveConnectorsTransportClassNames,
-                                Map<String, Object>[] liveConnectorTransportParams,
-                                String[] backupConnectorsTransportClassNames,
-                                Map<String, Object>[] backupConnectorTransportParams,
+                                Object[] liveConnectorsTransportClassNames,
+                                Object[] liveConnectorTransportParams,
+                                Object[] backupConnectorsTransportClassNames,
+                                Object[] backupConnectorTransportParams,
                                 String clientID,
-                                String[] jndiBindings) throws Exception;
+                                Object[] jndiBindings) throws Exception;
 
    void createConnectionFactory(String name,
-                                String[] liveConnectorsTransportClassNames,
-                                Map<String, Object>[] liveConnectorTransportParams,
-                                String[] backupConnectorsTransportClassNames,
-                                Map<String, Object>[] backupConnectorTransportParams,
+                                Object[] liveConnectorsTransportClassNames,
+                                Object[] liveConnectorTransportParams,
+                                Object[] backupConnectorsTransportClassNames,
+                                Object[] backupConnectorTransportParams,
                                 String clientID,
                                 long pingPeriod,
                                 long connectionTTL,
@@ -110,13 +110,13 @@
                                 double retryIntervalMultiplier,
                                 int reconnectAttempts,
                                 boolean failoverOnServerShutdown,
-                                String[] jndiBindings) throws Exception;
+                                Object[] jndiBindings) throws Exception;
 
    void createConnectionFactory(String name,
                                 String discoveryAddress,
                                 int discoveryPort,
                                 String clientID,
-                                String[] jndiBindings) throws Exception;
+                                Object[] bindings) throws Exception;
 
    void createConnectionFactory(String name,
                                 String discoveryAddress,
@@ -148,14 +148,8 @@
                                 double retryIntervalMultiplier,
                                 int reconnectAttempts,
                                 boolean failoverOnServerShutdown,
-                                String[] jndiBindings) throws Exception;
+                                Object[] jndiBindings) throws Exception;
 
-   // FIXME String[]Êdoes not work, they are converted to Object[]
-   //   void createConnectionFactory(String name,
-   //                                String liveTransportClassName,
-   //                                Map<String, Object> liveTransportParams,
-   //                                String[] jndiBindings) throws Exception;
-
    void createConnectionFactory(String name,
                                 String liveTransportClassName,
                                 Map<String, Object> liveTransportParams,
@@ -165,14 +159,14 @@
                                 String liveTransportClassName,
                                 Map<String, Object> liveTransportParams,
                                 String clientID,
-                                String[] jndiBindings) throws Exception;
+                                Object[] jndiBindings) throws Exception;
 
    void createConnectionFactory(String name,
                                 String liveTransportClassName,
                                 Map<String, Object> liveTransportParams,
                                 String backupTransportClassName,
                                 Map<String, Object> backupTransportParams,
-                                String[] jndiBindings) throws Exception;
+                                Object[] jndiBindings) throws Exception;
 
    void createConnectionFactory(String name,
                                 String liveTransportClassName,
@@ -180,7 +174,7 @@
                                 String backupTransportClassName,
                                 Map<String, Object> backupTransportParams,
                                 String clientID,
-                                String[] jndiBindings) throws Exception;
+                                Object[] jndiBindings) throws Exception;
 
    @Operation(desc = "Create a JMS ConnectionFactory", impact = ACTION)
    void destroyConnectionFactory(@Parameter(name = "name", desc = "Name of the ConnectionFactory to create")

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSServerControl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSServerControl.java	2009-05-06 12:09:27 UTC (rev 6690)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/impl/JMSServerControl.java	2009-05-06 13:39:25 UTC (rev 6691)
@@ -23,7 +23,6 @@
 package org.jboss.messaging.jms.server.management.impl;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicLong;
@@ -67,6 +66,16 @@
 
    // Static --------------------------------------------------------
 
+   private static List<String> convert(Object[] jndiBindings)
+   {
+      List<String> bindings = new ArrayList<String>();
+      for (Object object : jndiBindings)
+      {
+         bindings.add(object.toString());
+      }
+      return bindings;
+   }
+
    // Constructors --------------------------------------------------
 
    public JMSServerControl(final JMSServerManager server) throws NotCompliantMBeanException
@@ -81,37 +90,50 @@
    // JMSServerControlMBean implementation --------------------------
 
    public void createConnectionFactory(final String name,
-                                       final String[] liveConnectorsTransportClassNames,
-                                       final Map<String, Object>[] liveConnectorTransportParams,
-                                       final String[] backupConnectorsTransportClassNames,
-                                       final Map<String, Object>[] backupConnectorTransportParams,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] liveConnectorsTransportClassNames,
+                                       final Object[] liveConnectorTransportParams,
+                                       final Object[] backupConnectorsTransportClassNames,
+                                       final Object[] backupConnectorTransportParams,
+                                       final Object[] jndiBindings) throws Exception
    {
       List<Pair<TransportConfiguration, TransportConfiguration>> pairs = convertToConnectorPairs(liveConnectorsTransportClassNames,
                                                                                                  liveConnectorTransportParams,
                                                                                                  backupConnectorsTransportClassNames,
                                                                                                  backupConnectorTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name, pairs, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
    }
 
-   private List<Pair<TransportConfiguration, TransportConfiguration>> convertToConnectorPairs(final String[] liveConnectorsTransportClassNames,
-                                                                                              final Map<String, Object>[] liveConnectorTransportParams,
-                                                                                              final String[] backupConnectorsTransportClassNames,
-                                                                                              final Map<String, Object>[] backupConnectorTransportParams)
+   private List<Pair<TransportConfiguration, TransportConfiguration>> convertToConnectorPairs(final Object[] liveConnectorsTransportClassNames,
+                                                                                              final Object[] liveConnectorTransportParams,
+                                                                                              final Object[] backupConnectorsTransportClassNames,
+                                                                                              final Object[] backupConnectorTransportParams)
    {
       List<Pair<TransportConfiguration, TransportConfiguration>> pairs = new ArrayList<Pair<TransportConfiguration, TransportConfiguration>>();
 
       for (int i = 0; i < liveConnectorsTransportClassNames.length; i++)
       {
-         TransportConfiguration tcLive = new TransportConfiguration(liveConnectorsTransportClassNames[i],
-                                                                    liveConnectorTransportParams[i]);
-         TransportConfiguration tcBackup = new TransportConfiguration(liveConnectorsTransportClassNames[i],
-                                                                      liveConnectorTransportParams[i]);
+         Map<String, Object>[] liveParams = new Map[liveConnectorTransportParams.length];
+         for (int j = 0; j < liveConnectorTransportParams.length; j++)
+         {
+            liveParams[i] = (Map<String, Object>)liveConnectorTransportParams[j];            
+         }
+         
+         TransportConfiguration tcLive = new TransportConfiguration(liveConnectorsTransportClassNames[i].toString(),
+                                                                    liveParams[i]);
+
+         Map<String, Object>[] backupParams = new Map[backupConnectorTransportParams.length];
+         for (int j = 0; j < backupConnectorTransportParams.length; j++)
+         {
+            backupParams[i] = (Map<String, Object>)backupConnectorTransportParams[j];            
+         }
+
+         TransportConfiguration tcBackup = new TransportConfiguration(backupConnectorsTransportClassNames[i].toString(),
+                                                                      backupParams[i]);
          Pair<TransportConfiguration, TransportConfiguration> pair = new Pair<TransportConfiguration, TransportConfiguration>(tcLive,
                                                                                                                               tcBackup);
 
@@ -122,30 +144,30 @@
    }
 
    public void createConnectionFactory(final String name,
-                                       final String[] liveConnectorsTransportClassNames,
-                                       final Map<String, Object>[] liveConnectorTransportParams,
-                                       final String[] backupConnectorsTransportClassNames,
-                                       final Map<String, Object>[] backupConnectorTransportParams,
+                                       final Object[] liveConnectorsTransportClassNames,
+                                       final Object[] liveConnectorTransportParams,
+                                       final Object[] backupConnectorsTransportClassNames,
+                                       final Object[] backupConnectorTransportParams,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       List<Pair<TransportConfiguration, TransportConfiguration>> pairs = convertToConnectorPairs(liveConnectorsTransportClassNames,
                                                                                                  liveConnectorTransportParams,
                                                                                                  backupConnectorsTransportClassNames,
                                                                                                  backupConnectorTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name, pairs, clientID, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
    }
 
    public void createConnectionFactory(final String name,
-                                       final String[] liveConnectorsTransportClassNames,
-                                       final Map<String, Object>[] liveConnectorTransportParams,
-                                       final String[] backupConnectorsTransportClassNames,
-                                       final Map<String, Object>[] backupConnectorTransportParams,
+                                       final Object[] liveConnectorsTransportClassNames,
+                                       final Object[] liveConnectorTransportParams,
+                                       final Object[] backupConnectorsTransportClassNames,
+                                       final Object[] backupConnectorTransportParams,
                                        final String clientID,
                                        final long pingPeriod,
                                        final long connectionTTL,
@@ -171,15 +193,15 @@
                                        final double retryIntervalMultiplier,
                                        final int reconnectAttempts,
                                        final boolean failoverOnServerShutdown,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       List<Pair<TransportConfiguration, TransportConfiguration>> pairs = convertToConnectorPairs(liveConnectorsTransportClassNames,
                                                                                                  liveConnectorTransportParams,
                                                                                                  backupConnectorsTransportClassNames,
                                                                                                  backupConnectorTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name,
                                      pairs,
                                      clientID,
@@ -216,10 +238,10 @@
                                        final String discoveryAddress,
                                        final int discoveryPort,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name, discoveryAddress, discoveryPort, clientID, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
@@ -255,10 +277,10 @@
                                        final double retryIntervalMultiplier,
                                        final int reconnectAttempts,
                                        final boolean failoverOnServerShutdown,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name,
                                      discoveryAddress,
                                      discoveryPort,
@@ -294,37 +316,16 @@
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
    }
 
-   // FIXME
-//   public void createConnectionFactory(final String name,
-//                                       final String liveTransportClassName,
-//                                       final Map<String, Object> liveTransportParams,
-//                                       final String[] jndiBindings) throws Exception
-//   {
-//      TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
-//
-//      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-//
-//      server.createConnectionFactory(name, liveTC, jndiBindingsList);
-//
-//      sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
-//   }
-
    public void createConnectionFactory(final String name,
                                        final String liveTransportClassName,
                                        final Map<String, Object> liveTransportParams,
                                        final Object[] jndiBindings) throws Exception
    {
-      String[] bindings = new String[jndiBindings.length];
-      for (int i = 0; i < jndiBindings.length; i++)
-      {
-         bindings[i] = jndiBindings[i].toString();
-         
-      }
       
       TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(bindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name, liveTC, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
@@ -334,12 +335,12 @@
                                        final String liveTransportClassName,
                                        final Map<String, Object> liveTransportParams,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
       server.createConnectionFactory(name, liveTC, clientID, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
@@ -350,14 +351,14 @@
                                        final Map<String, Object> liveTransportParams,
                                        final String backupTransportClassName,
                                        final Map<String, Object> backupTransportParams,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
 
       TransportConfiguration backupTC = new TransportConfiguration(backupTransportClassName, backupTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name, liveTC, backupTC, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);
@@ -369,14 +370,14 @@
                                        final String backupTransportClassName,
                                        final Map<String, Object> backupTransportParams,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       TransportConfiguration liveTC = new TransportConfiguration(liveTransportClassName, liveTransportParams);
 
       TransportConfiguration backupTC = new TransportConfiguration(backupTransportClassName, backupTransportParams);
 
-      List<String> jndiBindingsList = Arrays.asList(jndiBindings);
-
+      List<String> jndiBindingsList = convert(jndiBindings);
+      
       server.createConnectionFactory(name, liveTC, backupTC, clientID, jndiBindingsList);
 
       sendNotification(NotificationType.CONNECTION_FACTORY_CREATED, name);

Modified: trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java
===================================================================
--- trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java	2009-05-06 12:09:27 UTC (rev 6690)
+++ trunk/src/main/org/jboss/messaging/jms/server/management/jmx/impl/ReplicationAwareJMSServerControlWrapper.java	2009-05-06 13:39:25 UTC (rev 6691)
@@ -97,9 +97,10 @@
                                        final double retryIntervalMultiplier,
                                        final int reconnectAttempts,
                                        final boolean failoverOnServerShutdown,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name,
                              discoveryAddress,
                              discoveryPort,
                              clientID,
@@ -136,9 +137,9 @@
                                        final String discoveryAddress,
                                        final int discoveryPort,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
-      replicationAwareInvoke("createConnectionFactory", discoveryAddress, discoveryPort, clientID, jndiBindings);
+      replicationAwareInvoke("createConnectionFactory", name, discoveryAddress, discoveryPort, clientID, jndiBindings);
 
    }
 
@@ -148,9 +149,10 @@
                                        final String backupTransportClassName,
                                        final Map<String, Object> backupTransportParams,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name,
                              liveTransportClassName,
                              liveTransportParams,
                              backupTransportClassName,
@@ -164,9 +166,10 @@
                                        final Map<String, Object> liveTransportParams,
                                        final String backupTransportClassName,
                                        final Map<String, Object> backupTransportParams,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name,
                              liveTransportClassName,
                              liveTransportParams,
                              backupTransportClassName,
@@ -178,9 +181,10 @@
                                        final String liveTransportClassName,
                                        final Map<String, Object> liveTransportParams,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name, 
                              liveTransportClassName,
                              liveTransportParams,
                              clientID,
@@ -190,24 +194,16 @@
    public void createConnectionFactory(final String name,
                                        final String liveTransportClassName,
                                        final Map<String, Object> liveTransportParams,
-                                       final String[] jndiBindings) throws Exception
-   {
-      replicationAwareInvoke("createConnectionFactory", liveTransportClassName, liveTransportParams, jndiBindings);
-   }
-
-   public void createConnectionFactory(final String name,
-                                       final String liveTransportClassName,
-                                       final Map<String, Object> liveTransportParams,
                                        final Object[] jndiBindings) throws Exception
    {
-      replicationAwareInvoke("createConnectionFactory", liveTransportClassName, liveTransportParams, jndiBindings);
+      replicationAwareInvoke("createConnectionFactory", name, liveTransportClassName, liveTransportParams, jndiBindings);
    }
    
    public void createConnectionFactory(final String name,
-                                       final String[] liveConnectorsTransportClassNames,
-                                       final Map<String, Object>[] liveConnectorTransportParams,
-                                       final String[] backupConnectorsTransportClassNames,
-                                       final Map<String, Object>[] backupConnectorTransportParams,
+                                       final Object[] liveConnectorsTransportClassNames,
+                                       final Object[] liveConnectorTransportParams,
+                                       final Object[] backupConnectorsTransportClassNames,
+                                       final Object[] backupConnectorTransportParams,
                                        final String clientID,
                                        final long pingPeriod,
                                        final long connectionTTL,
@@ -233,9 +229,10 @@
                                        final double retryIntervalMultiplier,
                                        final int reconnectAttempts,
                                        final boolean failoverOnServerShutdown,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name,
                              liveConnectorsTransportClassNames,
                              liveConnectorTransportParams,
                              backupConnectorsTransportClassNames,
@@ -269,36 +266,36 @@
    }
 
    public void createConnectionFactory(final String name,
-                                       final String[] liveConnectorsTransportClassNames,
-                                       final Map<String, Object>[] liveConnectorTransportParams,
-                                       final String[] backupConnectorsTransportClassNames,
-                                       final Map<String, Object>[] backupConnectorTransportParams,
+                                       final Object[] liveConnectorsTransportClassNames,
+                                       final Object[] liveConnectorTransportParams,
+                                       final Object[] backupConnectorsTransportClassNames,
+                                       final Object[] backupConnectorTransportParams,
                                        final String clientID,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name,
                              liveConnectorsTransportClassNames,
                              liveConnectorTransportParams,
                              backupConnectorsTransportClassNames,
                              backupConnectorTransportParams,
                              clientID,
-
                              jndiBindings);
    }
 
    public void createConnectionFactory(final String name,
-                                       final String[] liveConnectorsTransportClassNames,
-                                       final Map<String, Object>[] liveConnectorTransportParams,
-                                       final String[] backupConnectorsTransportClassNames,
-                                       final Map<String, Object>[] backupConnectorTransportParams,
-                                       final String[] jndiBindings) throws Exception
+                                       final Object[] liveConnectorsTransportClassNames,
+                                       final Object[] liveConnectorTransportParams,
+                                       final Object[] backupConnectorsTransportClassNames,
+                                       final Object[] backupConnectorTransportParams,
+                                       final Object[] jndiBindings) throws Exception
    {
       replicationAwareInvoke("createConnectionFactory",
+                             name,
                              liveConnectorsTransportClassNames,
                              liveConnectorTransportParams,
                              backupConnectorsTransportClassNames,
                              backupConnectorTransportParams,
-
                              jndiBindings);
    }
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlTest.java	2009-05-06 12:09:27 UTC (rev 6690)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlTest.java	2009-05-06 13:39:25 UTC (rev 6691)
@@ -22,16 +22,13 @@
 
 package org.jboss.messaging.tests.integration.jms.server.management;
 
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN;
-import static org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl.DEFAULT_RECONNECT_ATTEMPTS;
 import static org.jboss.messaging.tests.util.RandomUtil.randomBoolean;
 import static org.jboss.messaging.tests.util.RandomUtil.randomDouble;
-import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveInt;
-import static org.jboss.messaging.tests.util.RandomUtil.randomPositiveLong;
+import static org.jboss.messaging.tests.util.RandomUtil.randomInt;
+import static org.jboss.messaging.tests.util.RandomUtil.randomLong;
 import static org.jboss.messaging.tests.util.RandomUtil.randomString;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Map;
 
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
@@ -49,12 +46,13 @@
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.core.server.Messaging;
 import org.jboss.messaging.core.server.MessagingServer;
+import org.jboss.messaging.jms.server.JMSServerManager;
 import org.jboss.messaging.jms.server.impl.JMSServerManagerImpl;
-import org.jboss.messaging.jms.server.management.ConnectionFactoryControlMBean;
 import org.jboss.messaging.jms.server.management.JMSServerControlMBean;
 import org.jboss.messaging.tests.integration.management.ManagementControlHelper;
 import org.jboss.messaging.tests.integration.management.ManagementTestBase;
 import org.jboss.messaging.tests.unit.util.InVMContext;
+import org.jboss.messaging.tests.util.RandomUtil;
 
 /**
  * A JMSServerControlTest
@@ -75,7 +73,7 @@
 
    protected InVMContext context;
 
-   protected MessagingServer server;
+   private JMSServerManagerImpl serverManager;
 
    // Static --------------------------------------------------------
 
@@ -87,7 +85,7 @@
    {
       JMSServerControlMBean control = createManagementControl();
       String version = control.getVersion();
-      assertEquals(server.getVersion().getFullVersion(), version);
+      assertEquals(serverManager.getVersion(), version);
    }
 
    public void testCreateQueue() throws Exception
@@ -167,265 +165,232 @@
       checkNoResource(ObjectNames.getJMSTopicObjectName(topicName));
    }
 
-//   public void testCreateConnectionFactoryLiveConnector() throws Exception
-//   {
-//      //String[] cfJNDIBindings = new String[] { randomString(), randomString(), randomString() };
-//      List<String> cfJNDIBindings = new ArrayList<String>();
-//      cfJNDIBindings.add(randomString());
-//      cfJNDIBindings.add(randomString());
-//      cfJNDIBindings.add(randomString());
-//            
-//      String cfName = randomString();
-//
-//      for (String cfJNDIBinding : cfJNDIBindings)
-//      {
-//         checkNoBinding(context, cfJNDIBinding);
-//      }
-//      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//
-//      JMSServerControlMBean control = createManagementControl();
-//      
-//      TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
-//      
-//      control.createConnectionFactory(cfName, tcLive, cfJNDIBindings);
-//
-//      for (String cfJNDIBinding : cfJNDIBindings)
-//      {
-//         Object o = checkBinding(context, cfJNDIBinding);
-//         assertTrue(o instanceof ConnectionFactory);
-//         ConnectionFactory cf = (ConnectionFactory)o;
-//         Connection connection = cf.createConnection();
-//         connection.close();
-//      }
-//      checkResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//   }
-//
-//   public void testCreateConnectionFactory_2() throws Exception
-//   {
-//      String[] cfJNDIBindings = new String[] { randomString(), randomString(), randomString() };
-//      String cfName = randomString();
-//      boolean preAcknowledge = randomBoolean();
-//      boolean blockOnAcknowledge = randomBoolean();
-//      boolean blockOnNonPersistentSend = randomBoolean();
-//      boolean blockOnPersistentSend = randomBoolean();
-//
-//      for (String cfJNDIBinding : cfJNDIBindings)
-//      {
-//         checkNoBinding(context, cfJNDIBinding);         
-//      }
-//      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//
-//      JMSServerControlMBean control = createManagementControl();
-//      control.createConnectionFactory(cfName,
-//                                      InVMConnectorFactory.class.getName(),
-//                                      blockOnAcknowledge,
-//                                      blockOnNonPersistentSend,
-//                                      blockOnPersistentSend,
-//                                      preAcknowledge,
-//                                      cfJNDIBindings);
-//
-//      for (String cfJNDIBinding : cfJNDIBindings)
-//      {
-//         Object o = checkBinding(context, cfJNDIBinding);
-//         assertTrue(o instanceof ConnectionFactory);
-//         ConnectionFactory cf = (ConnectionFactory)o;
-//         Connection connection = cf.createConnection();
-//         connection.close();
-//      }
-//
-//      checkResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//      ConnectionFactoryControlMBean cfControl = ManagementControlHelper.createConnectionFactoryControl(cfName,
-//                                                                                                       mbeanServer);
-//      assertEquals(preAcknowledge, cfControl.isPreAcknowledge());
-//      assertEquals(blockOnAcknowledge, cfControl.isBlockOnAcknowledge());
-//      assertEquals(blockOnNonPersistentSend, cfControl.isBlockOnNonPersistentSend());
-//      assertEquals(blockOnPersistentSend, cfControl.isBlockOnPersistentSend());
-//   }
-//
-//   public void testCreateConnectionFactory_3() throws Exception
-//   {
-//      String[] cfJNDIBindings = new String[] {randomString(), randomString(), randomString()} ;
-//      String cfName = randomString();
-//      long pingPeriod = randomPositiveLong();
-//      long connectionTTL = randomPositiveLong();
-//      long callTimeout = randomPositiveLong();
-//      String clientID = randomString();
-//      int dupsOKBatchSize = randomPositiveInt();
-//      int transactionBatchSize = randomPositiveInt();
-//      int consumerWindowSize = randomPositiveInt();
-//      int consumerMaxRate = randomPositiveInt();
-//      int producerWindowSize = randomPositiveInt();
-//      int producerMaxRate = randomPositiveInt();
-//      int minLargeMessageSize = randomPositiveInt();
-//      boolean autoGroup = randomBoolean();
-//      int maxConnections = randomPositiveInt();
-//      long retryInterval = randomPositiveLong();
-//      double retryIntervalMultiplier = randomDouble();
-//      int reconnectAttempts = randomPositiveInt();
-//      boolean failoverOnServerShutdown = randomBoolean();
-//      boolean preAcknowledge = randomBoolean();
-//      boolean blockOnAcknowledge = randomBoolean();
-//      boolean blockOnNonPersistentSend = randomBoolean();
-//      boolean blockOnPersistentSend = randomBoolean();
-//
-//      for (String cfJNDIBinding : cfJNDIBindings)
-//      {
-//         checkNoBinding(context, cfJNDIBinding);         
-//      }
-//      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//
-//      JMSServerControlMBean control = createManagementControl();
-//
-//      control.createSimpleConnectionFactory(cfName,
-//                                            InVMConnectorFactory.class.getName(),
-//                                            ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
-//                                            pingPeriod,
-//                                            connectionTTL,
-//                                            callTimeout,
-//                                            clientID,
-//                                            dupsOKBatchSize,
-//                                            transactionBatchSize,
-//                                            consumerWindowSize,
-//                                            consumerMaxRate,
-//                                            producerWindowSize,
-//                                            producerMaxRate,
-//                                            minLargeMessageSize,
-//                                            blockOnAcknowledge,
-//                                            blockOnNonPersistentSend,
-//                                            blockOnPersistentSend,
-//                                            autoGroup,
-//                                            maxConnections,
-//                                            preAcknowledge,
-//                                            retryInterval,
-//                                            retryIntervalMultiplier,
-//                                            reconnectAttempts,
-//                                            failoverOnServerShutdown,
-//                                            cfJNDIBindings);
-//
-//      for (String cfJNDIBinding : cfJNDIBindings)
-//      {
-//         Object o = checkBinding(context, cfJNDIBinding);
-//         assertTrue(o instanceof ConnectionFactory);
-//         ConnectionFactory cf = (ConnectionFactory)o;
-//         Connection connection = cf.createConnection();
-//         connection.close();
-//      }
-//
-//      checkResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//      ConnectionFactoryControlMBean cfControl = ManagementControlHelper.createConnectionFactoryControl(cfName,
-//                                                                                                       mbeanServer);
-//      assertEquals(cfName, cfControl.getName());
-//      assertEquals(pingPeriod, cfControl.getPingPeriod());
-//      assertEquals(connectionTTL, cfControl.getConnectionTTL());
-//      assertEquals(callTimeout, cfControl.getCallTimeout());
-//      assertEquals(clientID, cfControl.getClientID());
-//      assertEquals(dupsOKBatchSize, cfControl.getDupsOKBatchSize());
-//      assertEquals(transactionBatchSize, cfControl.getTransactionBatchSize());
-//      assertEquals(consumerWindowSize, cfControl.getConsumerWindowSize());
-//      assertEquals(consumerMaxRate, cfControl.getConsumerMaxRate());
-//      assertEquals(producerWindowSize, cfControl.getProducerWindowSize());
-//      assertEquals(producerMaxRate, cfControl.getProducerMaxRate());
-//      assertEquals(minLargeMessageSize, cfControl.getMinLargeMessageSize());
-//      assertEquals(autoGroup, cfControl.isAutoGroup());
-//      assertEquals(maxConnections, cfControl.getMaxConnections());
-//      assertEquals(retryInterval, cfControl.getRetryInterval());
-//      assertEquals(retryIntervalMultiplier, cfControl.getRetryIntervalMultiplier());
-//      assertEquals(reconnectAttempts, cfControl.getReconnectAttempts());
-//      assertEquals(failoverOnServerShutdown, cfControl.isFailoverOnNodeShutdown());
-//      assertEquals(preAcknowledge, cfControl.isPreAcknowledge());
-//      assertEquals(blockOnAcknowledge, cfControl.isBlockOnAcknowledge());
-//      assertEquals(blockOnNonPersistentSend, cfControl.isBlockOnNonPersistentSend());
-//      assertEquals(blockOnPersistentSend, cfControl.isBlockOnPersistentSend());
-//   }
-//   
-//   public void _testCreateConnectionFactoryWithDiscoveryGroup() throws Exception
-//   {
-//      MessagingServer server = null;
-//      try
-//      {
-//         String[] cfJNDIBindings = new String[] {randomString(), randomString(), randomString()};
-//         String cfName = randomString();
-//
-//         server = startMessagingServer(8765);
-//
-//         for (String cfJNDIBinding : cfJNDIBindings)
-//         {
-//            checkNoBinding(context, cfJNDIBinding);            
-//         }
-//
-//         JMSServerControlMBean control = createManagementControl();
-//         control.createConnectionFactory(cfName,
-//                                         randomString(),
-//                                         "231.7.7.7",
-//                                         8765,
-//                                         ConfigurationImpl.DEFAULT_BROADCAST_REFRESH_TIMEOUT,
-//                                         ClientSessionFactoryImpl.DEFAULT_DISCOVERY_INITIAL_WAIT,
-//                                         ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
-//                                         ClientSessionFactoryImpl.DEFAULT_PING_PERIOD,
-//                                         ClientSessionFactoryImpl.DEFAULT_CONNECTION_TTL,
-//                                         ClientSessionFactoryImpl.DEFAULT_CALL_TIMEOUT,
-//                                         null,
-//                                         ClientSessionFactoryImpl.DEFAULT_ACK_BATCH_SIZE,
-//                                         ClientSessionFactoryImpl.DEFAULT_ACK_BATCH_SIZE,
-//                                         ClientSessionFactoryImpl.DEFAULT_CONSUMER_WINDOW_SIZE,
-//                                         ClientSessionFactoryImpl.DEFAULT_CONSUMER_MAX_RATE,
-//                                         ClientSessionFactoryImpl.DEFAULT_PRODUCER_WINDOW_SIZE,
-//                                         ClientSessionFactoryImpl.DEFAULT_PRODUCER_MAX_RATE,
-//                                         ClientSessionFactoryImpl.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
-//                                         ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_ACKNOWLEDGE,
-//                                         ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_NON_PERSISTENT_SEND,
-//                                         ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_PERSISTENT_SEND,
-//                                         ClientSessionFactoryImpl.DEFAULT_AUTO_GROUP,
-//                                         ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS,
-//                                         ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE,
-//                                         ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL,
-//                                         ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL_MULTIPLIER,
-//                                         DEFAULT_RECONNECT_ATTEMPTS,
-//                                         DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
-//                                         cfJNDIBindings);
-//
-//         for (String cfJNDIBinding : cfJNDIBindings)
-//         {
-//            Object o = checkBinding(context, cfJNDIBinding);
-//            assertTrue(o instanceof ConnectionFactory);
-//            ConnectionFactory cf = (ConnectionFactory)o;
-//            Connection connection = cf.createConnection();
-//            connection.close();
-//         }
-//      }
-//      finally
-//      {
-//         if (server != null)
-//         {
-//            server.stop();
-//         }
-//      }
-//   }
-//
-//   public void testDestroyConnectionFactory() throws Exception
-//   {
-//      String cfJNDIBinding = randomString();
-//      String cfName = randomString();
-//
-//      checkNoBinding(context, cfJNDIBinding);
-//      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//
-//      JMSServerControlMBean control = createManagementControl();
-//      control.createConnectionFactory(cfName, InVMConnectorFactory.class.getName(), new String[] {cfJNDIBinding});
-//
-//      Object o = checkBinding(context, cfJNDIBinding);
-//      assertTrue(o instanceof ConnectionFactory);
-//      ConnectionFactory cf = (ConnectionFactory)o;
-//      Connection connection = cf.createConnection();
-//      connection.close();
-//      checkResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//
-//      control.destroyConnectionFactory(cfName);
-//
-//      checkNoBinding(context, cfJNDIBinding);
-//      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
-//   }
+   public void testCreateConnectionFactory_1() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
 
+            control.createConnectionFactory(cfName, tcLive.getFactoryClassName(), tcLive.getParams(), bindings);
+         }         
+      });
+   }
+
+   public void testCreateConnectionFactory_2() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            String clientID = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+            control.createConnectionFactory(cfName, tcLive.getFactoryClassName(), tcLive.getParams(), clientID, bindings);
+         }         
+      });
+   }
+
+   public void testCreateConnectionFactory_3() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+            TransportConfiguration tcBackup = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+            control.createConnectionFactory(cfName, 
+                                            tcLive.getFactoryClassName(),
+                                            tcLive.getParams(),
+                                            tcBackup.getFactoryClassName(),
+                                            tcBackup.getParams(),
+                                            bindings);
+         }         
+      });
+   }
+   
+   public void testCreateConnectionFactory_4() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            String clientID = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+            TransportConfiguration tcBackup = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+            control.createConnectionFactory(cfName, 
+                                            tcLive.getFactoryClassName(),
+                                            tcLive.getParams(),
+                                            tcBackup.getFactoryClassName(),
+                                            tcBackup.getParams(),
+                                            clientID,
+                                            bindings);
+         }         
+      });
+   }
+   
+   public void testCreateConnectionFactory_5() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+            TransportConfiguration tcBackup = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+            control.createConnectionFactory(cfName, 
+                                            new Object[] {tcLive.getFactoryClassName()},
+                                            new Object[] {tcLive.getParams()},
+                                            new Object[] {tcBackup.getFactoryClassName()},
+                                            new Object[] {tcBackup.getParams()},
+                                            bindings);
+         }         
+      });
+   }
+      
+   public void testCreateConnectionFactory_6() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            String clientID = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+            TransportConfiguration tcBackup = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+            control.createConnectionFactory(cfName, 
+                                            new Object[] {tcLive.getFactoryClassName()},
+                                            new Object[] {tcLive.getParams()},
+                                            new Object[] {tcBackup.getFactoryClassName()},
+                                            new Map[] {tcBackup.getParams()},
+                                            clientID,
+                                            bindings);
+         }         
+      });
+   }
+   
+   public void testCreateConnectionFactory_7() throws Exception
+   {
+      doCreateConnectionFactory(new ConnectionFactoryCreator()
+      {
+         public void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception
+         {
+            String cfName = randomString();
+            String clientID = randomString();
+            TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+            TransportConfiguration tcBackup = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+            control.createConnectionFactory(cfName, 
+                                            new Object[] {tcLive.getFactoryClassName()},
+                                            new Object[] {tcLive.getParams()},
+                                            new Object[] {tcBackup.getFactoryClassName()},
+                                            new Object[] {tcBackup.getParams()},
+                                            clientID,
+                                            ClientSessionFactoryImpl.DEFAULT_PING_PERIOD,
+                                            ClientSessionFactoryImpl.DEFAULT_CONNECTION_TTL,
+                                            ClientSessionFactoryImpl.DEFAULT_CALL_TIMEOUT,
+                                            ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS,
+                                            ClientSessionFactoryImpl.DEFAULT_MIN_LARGE_MESSAGE_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_CONSUMER_WINDOW_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_CONSUMER_MAX_RATE,
+                                            ClientSessionFactoryImpl.DEFAULT_PRODUCER_WINDOW_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_PRODUCER_MAX_RATE,
+                                            ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_ACKNOWLEDGE,
+                                            ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_PERSISTENT_SEND,
+                                            ClientSessionFactoryImpl.DEFAULT_BLOCK_ON_NON_PERSISTENT_SEND,
+                                            ClientSessionFactoryImpl.DEFAULT_AUTO_GROUP,
+                                            ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE,
+                                            ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
+                                            ClientSessionFactoryImpl.DEFAULT_ACK_BATCH_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_ACK_BATCH_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_USE_GLOBAL_POOLS,
+                                            ClientSessionFactoryImpl.DEFAULT_SCHEDULED_THREAD_POOL_MAX_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_THREAD_POOL_MAX_SIZE,
+                                            ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL,
+                                            ClientSessionFactoryImpl.DEFAULT_RETRY_INTERVAL_MULTIPLIER,
+                                            ClientSessionFactoryImpl.DEFAULT_RECONNECT_ATTEMPTS,
+                                            ClientSessionFactoryImpl.DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
+                                            bindings);
+         }         
+      });
+   }
+
+   public void _testCreateConnectionFactoryWithDiscoveryGroup() throws Exception
+   {
+      String[] cfJNDIBindings = new String[] {randomString(), randomString(), randomString()};
+      String cfName = randomString();
+      String clientID = randomString();
+
+      // restart the server with a discovery group configuration
+      serverManager.stop();
+      startMessagingServer(8765);
+
+      for (String cfJNDIBinding : cfJNDIBindings)
+      {
+         checkNoBinding(context, cfJNDIBinding);            
+      }
+
+      JMSServerControlMBean control = createManagementControl();
+
+      control.createConnectionFactory(cfName, 
+                                      "231.7.7.7",
+                                      8765,
+                                      clientID,
+                                      cfJNDIBindings);
+
+      for (String cfJNDIBinding : cfJNDIBindings)
+      {
+         Object o = checkBinding(context, cfJNDIBinding);
+         assertTrue(o instanceof ConnectionFactory);
+         ConnectionFactory cf = (ConnectionFactory)o;
+         Connection connection = cf.createConnection();
+         connection.close();
+      }
+   }
+   
+   public void testDestroyConnectionFactory() throws Exception
+   {
+      String[] cfJNDIBindings = new String[] {randomString(), randomString(), randomString()};
+      String cfName = randomString();
+
+      for (String cfJNDIBinding : cfJNDIBindings)
+      {
+         checkNoBinding(context, cfJNDIBinding);            
+      }
+
+      JMSServerControlMBean control = createManagementControl();
+
+      TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+
+      control.createConnectionFactory(cfName, tcLive.getFactoryClassName(), tcLive.getParams(), cfJNDIBindings);
+
+      for (String cfJNDIBinding : cfJNDIBindings)
+      {
+         Object o = checkBinding(context, cfJNDIBinding);
+         assertTrue(o instanceof ConnectionFactory);
+         ConnectionFactory cf = (ConnectionFactory)o;
+         Connection connection = cf.createConnection();
+         connection.close();
+      }
+      
+      control.destroyConnectionFactory(cfName);
+      
+      for (String cfJNDIBinding : cfJNDIBindings)
+      {
+         checkNoBinding(context, cfJNDIBinding);            
+      }
+
+   }
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------
@@ -439,10 +404,10 @@
       conf.setSecurityEnabled(false);
       conf.setJMXManagementEnabled(true);
       conf.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName()));
-      server = Messaging.newMessagingServer(conf, mbeanServer, false);      
+      MessagingServer server = Messaging.newMessagingServer(conf, mbeanServer, false);      
 
       context = new InVMContext();
-      JMSServerManagerImpl serverManager = new JMSServerManagerImpl(server);      
+      serverManager = new JMSServerManagerImpl(server);      
       serverManager.setContext(context);
       serverManager.start();
       serverManager.activated();
@@ -451,7 +416,7 @@
    @Override
    protected void tearDown() throws Exception
    {
-      server.stop();
+      serverManager.stop();
 
       super.tearDown();
    }
@@ -463,8 +428,37 @@
 
    // Private -------------------------------------------------------
 
+   private void doCreateConnectionFactory(ConnectionFactoryCreator creator) throws Exception
+   {
+      Object[] cfJNDIBindings = new Object[] { randomString(), randomString(), randomString() };
+            
+      String cfName = randomString();
 
-   private MessagingServer startMessagingServer(int discoveryPort) throws Exception
+      for (Object cfJNDIBinding : cfJNDIBindings)
+      {
+         checkNoBinding(context, cfJNDIBinding.toString());
+      }
+      checkNoResource(ObjectNames.getConnectionFactoryObjectName(cfName));
+
+      JMSServerControlMBean control = createManagementControl();
+     creator.createConnectionFactory(control, cfJNDIBindings);
+      
+      TransportConfiguration tcLive = new TransportConfiguration(InVMConnectorFactory.class.getName());
+      
+      control.createConnectionFactory(cfName, tcLive.getFactoryClassName(), tcLive.getParams(), cfJNDIBindings);
+
+      for (Object cfJNDIBinding : cfJNDIBindings)
+      {
+         Object o = checkBinding(context, cfJNDIBinding.toString());
+         assertTrue(o instanceof ConnectionFactory);
+         ConnectionFactory cf = (ConnectionFactory)o;
+         Connection connection = cf.createConnection();
+         connection.close();
+      }
+      checkResource(ObjectNames.getConnectionFactoryObjectName(cfName));
+   }
+
+   private JMSServerManager startMessagingServer(int discoveryPort) throws Exception
    {
       Configuration conf = new ConfigurationImpl();
       conf.setSecurityEnabled(false);
@@ -476,16 +470,22 @@
                                                discoveryPort,
                                                ConfigurationImpl.DEFAULT_BROADCAST_REFRESH_TIMEOUT));
       MessagingServer server = Messaging.newMessagingServer(conf, mbeanServer, false);
-      server.start();
-
+      
       context = new InVMContext();
       JMSServerManagerImpl serverManager = new JMSServerManagerImpl(server);
+      serverManager.setContext(context);
       serverManager.start();
-      serverManager.setContext(context);
+      serverManager.activated();
 
-      return server;
+      return serverManager;
    }
    
    // Inner classes -------------------------------------------------
 
+   interface ConnectionFactoryCreator{
+      void createConnectionFactory(JMSServerControlMBean control, Object[] bindings) throws Exception;
+   }
+   
+
+
 }
\ No newline at end of file

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java	2009-05-06 12:09:27 UTC (rev 6690)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/jms/server/management/JMSServerControlUsingJMSTest.java	2009-05-06 13:39:25 UTC (rev 6691)
@@ -35,7 +35,6 @@
 import org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory;
 import org.jboss.messaging.jms.JBossQueue;
 import org.jboss.messaging.jms.client.JBossConnectionFactory;
-import org.jboss.messaging.jms.server.impl.JMSServerManagerImpl;
 import org.jboss.messaging.jms.server.management.JMSServerControlMBean;
 
 /**
@@ -65,10 +64,6 @@
    {
       super.setUp();
 
-      JMSServerManagerImpl serverManager = new JMSServerManagerImpl(server);
-      serverManager.start();
-      serverManager.setContext(context);
-
       JBossConnectionFactory cf = new JBossConnectionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
       connection = cf.createQueueConnection();
       session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -122,7 +117,7 @@
                                              double retryIntervalMultiplier,
                                              int reconnectAttempts,
                                              boolean failoverOnServerShutdown,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -161,7 +156,7 @@
                                              String discoveryAddress,
                                              int discoveryPort,
                                              String clientID,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -177,7 +172,7 @@
                                              String backupTransportClassName,
                                              Map<String, Object> backupTransportParams,
                                              String clientID,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -194,7 +189,7 @@
                                              Map<String, Object> liveTransportParams,
                                              String backupTransportClassName,
                                              Map<String, Object> backupTransportParams,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -209,7 +204,7 @@
                                              String liveTransportClassName,
                                              Map<String, Object> liveTransportParams,
                                              String clientID,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -232,10 +227,10 @@
          }
 
          public void createConnectionFactory(String name,
-                                             String[] liveConnectorsTransportClassNames,
-                                             Map<String, Object>[] liveConnectorTransportParams,
-                                             String[] backupConnectorsTransportClassNames,
-                                             Map<String, Object>[] backupConnectorTransportParams,
+                                             Object[] liveConnectorsTransportClassNames,
+                                             Object[] liveConnectorTransportParams,
+                                             Object[] backupConnectorsTransportClassNames,
+                                             Object[] backupConnectorTransportParams,
                                              String clientID,
                                              long pingPeriod,
                                              long connectionTTL,
@@ -261,7 +256,7 @@
                                              double retryIntervalMultiplier,
                                              int reconnectAttempts,
                                              boolean failoverOnServerShutdown,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -299,12 +294,12 @@
          }
 
          public void createConnectionFactory(String name,
-                                             String[] liveConnectorsTransportClassNames,
-                                             Map<String, Object>[] liveConnectorTransportParams,
-                                             String[] backupConnectorsTransportClassNames,
-                                             Map<String, Object>[] backupConnectorTransportParams,
+                                             Object[] liveConnectorsTransportClassNames,
+                                             Object[] liveConnectorTransportParams,
+                                             Object[] backupConnectorsTransportClassNames,
+                                             Object[] backupConnectorTransportParams,
                                              String clientID,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,
@@ -317,11 +312,11 @@
          }
 
          public void createConnectionFactory(String name,
-                                             String[] liveConnectorsTransportClassNames,
-                                             Map<String, Object>[] liveConnectorTransportParams,
-                                             String[] backupConnectorsTransportClassNames,
-                                             Map<String, Object>[] backupConnectorTransportParams,
-                                             String[] jndiBindings) throws Exception
+                                             Object[] liveConnectorsTransportClassNames,
+                                             Object[] liveConnectorTransportParams,
+                                             Object[] backupConnectorsTransportClassNames,
+                                             Object[] backupConnectorTransportParams,
+                                             Object[] jndiBindings) throws Exception
          {
             proxy.invokeOperation("createConnectionFactory",
                                   name,




More information about the jboss-cvs-commits mailing list