[jboss-cvs] JBoss Messaging SVN: r3645 - in trunk: src/etc/server/default/deploy and 18 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 30 10:21:25 EST 2008


Author: jmesnil
Date: 2008-01-30 10:21:24 -0500 (Wed, 30 Jan 2008)
New Revision: 3645

Added:
   trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java
   trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
Removed:
   trunk/src/main/org/jboss/messaging/core/remoting/ServerLocator.java
   trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ServerLocatorTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/crash/UnresponsiveServerTest.java
Modified:
   trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java
   trunk/docs/examples/embedded/src/org/jboss/example/embedded/MessagingServerFactory.java
   trunk/src/etc/server/default/deploy/jbm-beans.xml
   trunk/src/etc/server/default/deploy/jbm-configuration.xml
   trunk/src/main/org/jboss/jms/client/api/ClientConnectionFactory.java
   trunk/src/main/org/jboss/jms/client/impl/ClientConnectionFactoryImpl.java
   trunk/src/main/org/jboss/jms/client/remoting/MessagingRemotingConnection.java
   trunk/src/main/org/jboss/jms/jndi/JNDIObjectDeployer.java
   trunk/src/main/org/jboss/jms/server/endpoint/ConnectionFactoryAdvisedPacketHandler.java
   trunk/src/main/org/jboss/jms/server/endpoint/ServerBrowserEndpoint.java
   trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
   trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java
   trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
   trunk/src/main/org/jboss/messaging/core/Configuration.java
   trunk/src/main/org/jboss/messaging/core/MessagingServer.java
   trunk/src/main/org/jboss/messaging/core/impl/server/MessagingServerImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
   trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistrySingleton.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/ClientImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
   trunk/tests/src/org/jboss/jms/server/test/unit/ConfigurationTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/ClientTestBase.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMClientTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ClientKeepAliveTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ServerKeepAliveTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/stress/PacketStressTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ClientTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java
   trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
Log:
* remoting API cleanup
  - introduced RemotingService interface to hide MinaService implementation from other JBM parts
  - replaced String-based ServerLocator by POJO RemotingConfiguration to hold type-safe configuration parameters for RemotingService

Modified: trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java
===================================================================
--- trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -21,6 +21,8 @@
    */
 package org.jboss.example.embedded;
 
+import static org.jboss.messaging.core.remoting.TransportType.TCP;
+
 import javax.jms.Session;
 
 import org.jboss.jms.client.api.ClientConnection;
@@ -34,6 +36,7 @@
 import org.jboss.messaging.core.MessagingServer;
 import org.jboss.messaging.core.impl.DestinationImpl;
 import org.jboss.messaging.core.impl.MessageImpl;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 
 /**
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
@@ -42,10 +45,11 @@
 {
    public static void main(String args[]) throws Exception
    {
-      MessagingServer messagingServer = MessagingServerFactory.createMessagingServer();
+      RemotingConfiguration remotingConf = new RemotingConfiguration(TCP, "localhost", 5400);
+      MessagingServer messagingServer = MessagingServerFactory.createMessagingServer(remotingConf);
       messagingServer.start();
       messagingServer.createQueue("Queue1");
-      ClientConnectionFactory cf = new ClientConnectionFactoryImpl("tcp://localhost:5400");
+      ClientConnectionFactory cf = new ClientConnectionFactoryImpl(remotingConf);
       ClientConnection clientConnection = cf.createConnection(null, null);
       ClientSession clientSession = clientConnection.createClientSession(false, Session.AUTO_ACKNOWLEDGE, false);
 

Modified: trunk/docs/examples/embedded/src/org/jboss/example/embedded/MessagingServerFactory.java
===================================================================
--- trunk/docs/examples/embedded/src/org/jboss/example/embedded/MessagingServerFactory.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/docs/examples/embedded/src/org/jboss/example/embedded/MessagingServerFactory.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -29,6 +29,7 @@
 import org.jboss.messaging.core.impl.bdbje.BDBJEPersistenceManager;
 import org.jboss.messaging.core.impl.bdbje.integration.RealBDBJEEnvironment;
 import org.jboss.messaging.core.impl.server.MessagingServerImpl;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 
 /**
@@ -38,13 +39,13 @@
 {
    private static final String HOME_DIR = System.getProperty("user.home");
    
-   public static MessagingServer createMessagingServer() throws Exception
+   public static MessagingServer createMessagingServer(RemotingConfiguration remotingConf) throws Exception
    {
-      MinaService minaService = new MinaService("tcp", "localhost", 5400);
+      MinaService minaService = new MinaService(remotingConf);
       minaService.start();
       MessagingServerImpl messagingServer = new MessagingServerImpl();
       
-      messagingServer.setMinaService(minaService);
+      messagingServer.setRemotingService(minaService);
       Configuration configuration = new Configuration();
       configuration.setMessagingServerID(0);
       messagingServer.setConfiguration(configuration);
@@ -84,7 +85,7 @@
    public static void stop(MessagingServer server) throws Exception
    {
       server.stop();
-      server.getMinaService().stop();
+      server.getRemotingService().stop();
       server.getPersistenceManager().stop();
    }
 }

Modified: trunk/src/etc/server/default/deploy/jbm-beans.xml
===================================================================
--- trunk/src/etc/server/default/deploy/jbm-beans.xml	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/etc/server/default/deploy/jbm-beans.xml	2008-01-30 15:21:24 UTC (rev 3645)
@@ -23,8 +23,8 @@
       <property name="jmsUserManager">
          <inject bean="JMSUserManager"/>
       </property>
-      <property name="minaService">
-         <inject bean="MinaService"/>
+      <property name="remotingService">
+         <inject bean="RemotingService"/>
       </property> 
       <property name="configuration">
          <inject bean="Configuration"/>
@@ -91,28 +91,13 @@
          </map>
       </property>
    </bean>
-
    
-   
-   
-   <bean name="MinaService" class="org.jboss.messaging.core.remoting.impl.mina.MinaService">
+   <bean name="RemotingService" class="org.jboss.messaging.core.remoting.impl.mina.MinaService">
       <constructor>
-         <parameter>tcp</parameter>      
-         <parameter>localhost</parameter>      
          <parameter>
-            <inject bean="Configuration" property="remotingBindAddress"/>
+            <inject bean="Configuration" property="remotingConfiguration"/>
          </parameter>
       </constructor>
-      <property name="parameters">
-         <map class="java.util.HashMap" keyClass="java.lang.String" valueClass="java.lang.String">
-            <entry>
-               <key>timeout</key>
-               <value>
-                 <inject bean="Configuration" property="remotingTimeout" />
-               </value>
-            </entry>
-          </map>
-      </property>
    </bean> 
    
    <bean name="JNDIObjectDeployer" class="org.jboss.jms.jndi.JNDIObjectDeployer">

Modified: trunk/src/etc/server/default/deploy/jbm-configuration.xml
===================================================================
--- trunk/src/etc/server/default/deploy/jbm-configuration.xml	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/etc/server/default/deploy/jbm-configuration.xml	2008-01-30 15:21:24 UTC (rev 3645)
@@ -56,6 +56,7 @@
       <data-channel-name>udp</data-channel-name>
       <channel-partition-name>${jboss.partition.name:DefaultPartition}-JMS</channel-partition-name>-->
 
+      <remoting-transport>TCP</remoting-transport>
       <remoting-bind-address>5400</remoting-bind-address>
       <!--  timeout in seconds -->
       <remoting-timeout>5</remoting-timeout>

Modified: trunk/src/main/org/jboss/jms/client/api/ClientConnectionFactory.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/api/ClientConnectionFactory.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/client/api/ClientConnectionFactory.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -23,6 +23,7 @@
 
 import javax.jms.JMSException;
 
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.util.Version;
 
 /**
@@ -34,7 +35,7 @@
  */
 public interface ClientConnectionFactory
 {      
-   String getServerLocatorURI();
+   RemotingConfiguration getRemotingConfiguration();
       
    int getServerID();
    

Modified: trunk/src/main/org/jboss/jms/client/impl/ClientConnectionFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/impl/ClientConnectionFactoryImpl.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/client/impl/ClientConnectionFactoryImpl.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -31,6 +31,7 @@
 import org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener;
 import org.jboss.jms.client.remoting.MessagingRemotingConnection;
 import org.jboss.jms.exception.MessagingJMSException;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.wireformat.CreateConnectionRequest;
 import org.jboss.messaging.core.remoting.wireformat.CreateConnectionResponse;
 import org.jboss.messaging.util.Logger;
@@ -62,7 +63,7 @@
 
    // Attributes -----------------------------------------------------------------------------------
    
-   private String serverLocatorURI;
+   private RemotingConfiguration remotingConfig;
 
    private Version serverVersion;
  
@@ -87,11 +88,11 @@
    // Constructors ---------------------------------------------------------------------------------
 
    public ClientConnectionFactoryImpl(int serverID,
-         String serverLocatorURI, Version serverVersion, boolean strictTck,
+         RemotingConfiguration remotingConfig, Version serverVersion, boolean strictTck,
          int prefetchSize, int dupsOKBatchSize, String clientID)
    {
       this.serverID = serverID;
-      this.serverLocatorURI = serverLocatorURI;
+      this.remotingConfig = remotingConfig;
       this.serverVersion = serverVersion;
       this.strictTck = strictTck;
       this.prefetchSize = prefetchSize;
@@ -99,9 +100,9 @@
       this.clientID = clientID;
    }
 
-   public ClientConnectionFactoryImpl(String serverLocatorURI)
+   public ClientConnectionFactoryImpl(RemotingConfiguration remotingConfig)
    {
-      this.serverLocatorURI = serverLocatorURI;
+      this.remotingConfig = remotingConfig;
    }
 
    public ClientConnectionFactoryImpl()
@@ -122,7 +123,7 @@
       MessagingRemotingConnection remotingConnection = null;
       try
       {
-         remotingConnection = new MessagingRemotingConnection(serverLocatorURI);
+         remotingConnection = new MessagingRemotingConnection(remotingConfig);
        
          remotingConnection.start();
          
@@ -169,9 +170,9 @@
    
    // ClientConnectionFactory implementation ---------------------------------------------
    
-   public String getServerLocatorURI()
+   public RemotingConfiguration getRemotingConfiguration()
    {
-      return serverLocatorURI;
+      return remotingConfig;
    }
    
    public int getServerID()

Modified: trunk/src/main/org/jboss/jms/client/remoting/MessagingRemotingConnection.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/remoting/MessagingRemotingConnection.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/client/remoting/MessagingRemotingConnection.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -31,7 +31,7 @@
 import org.jboss.jms.exception.MessagingNetworkFailureException;
 import org.jboss.messaging.core.remoting.Client;
 import org.jboss.messaging.core.remoting.NIOConnector;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.ClientImpl;
 import org.jboss.messaging.core.remoting.wireformat.AbstractPacket;
 import org.jboss.messaging.core.remoting.wireformat.JMSExceptionMessage;
@@ -61,7 +61,7 @@
 
    // Attributes -----------------------------------------------------------------------------------
 
-   private ServerLocator serverLocator;
+   private RemotingConfiguration remotingConfig;
 
    private Client client;
 
@@ -71,11 +71,13 @@
    
    // Constructors ---------------------------------------------------------------------------------
 
-   public MessagingRemotingConnection(String serverLocatorURI) throws Exception
+   public MessagingRemotingConnection(RemotingConfiguration remotingConfig) throws Exception
    {
-      serverLocator = new ServerLocator(serverLocatorURI);
+      assert remotingConfig != null;
       
-      log.trace(this + " created");
+      this.remotingConfig = remotingConfig;
+      
+      log.trace(this + " created with configuration " + remotingConfig);
    }
 
    // Public ---------------------------------------------------------------------------------------
@@ -86,12 +88,12 @@
 
       //callbackManager = new CallbackManager();
 
-      NIOConnector connector = REGISTRY.getConnector(serverLocator);
-      client = new ClientImpl(connector, serverLocator);
+      NIOConnector connector = REGISTRY.getConnector(remotingConfig);
+      client = new ClientImpl(connector, remotingConfig);
       client.connect();
 
       if (log.isDebugEnabled())
-         log.debug("Using " + connector.getServerURI() + " to connect to " + serverLocator);
+         log.debug("Using " + connector + " to connect to " + remotingConfig);
 
       log.trace(this + " started");
    }
@@ -103,7 +105,7 @@
       try
       {
          client.disconnect();
-         NIOConnector connector = REGISTRY.removeConnector(serverLocator);
+         NIOConnector connector = REGISTRY.removeConnector(remotingConfig);
          if (connector != null)
             connector.disconnect();
       }

Modified: trunk/src/main/org/jboss/jms/jndi/JNDIObjectDeployer.java
===================================================================
--- trunk/src/main/org/jboss/jms/jndi/JNDIObjectDeployer.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/jndi/JNDIObjectDeployer.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -27,7 +27,7 @@
 import org.jboss.jms.destination.JBossTopic;
 import org.jboss.logging.Logger;
 import org.jboss.messaging.core.MessagingServer;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.deployers.Deployer;
 import org.jboss.messaging.deployers.DeploymentManager;
 import org.jboss.messaging.util.JNDIUtil;
@@ -177,9 +177,9 @@
    {
       if (node.getNodeName().equals(CONNECTION_FACTORY_NODE_NAME))
       {
-         ServerLocator serverLocator = messagingServer.getMinaService().getLocator();
+         RemotingConfiguration remotingConfig = messagingServer.getRemotingService().getRemotingConfiguration();
 
-         log.info("Server locator is " + serverLocator);
+         log.info("Remoting configuration is " + remotingConfig);
          log.info(this + " started");
          // See http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4076040#4076040
          final String id = node.getAttributes().getNamedItem(getKeyAttribute()).getNodeValue();
@@ -227,7 +227,7 @@
 
          ClientConnectionFactoryImpl delegate =
                  new ClientConnectionFactoryImpl(messagingServer.getConfiguration().getMessagingServerID(),
-                         serverLocator.getURI(), version, useStrict, prefetchSize, dupsOKBatchSize, clientID);
+                         remotingConfig, version, useStrict, prefetchSize, dupsOKBatchSize, clientID);
 
          log.debug(this + " created local delegate " + delegate);
 

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ConnectionFactoryAdvisedPacketHandler.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ConnectionFactoryAdvisedPacketHandler.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ConnectionFactoryAdvisedPacketHandler.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -170,7 +170,7 @@
 
       String connectionID = endpoint.getConnectionID();
 
-      messagingServer.getMinaService().getDispatcher().register(endpoint.newHandler());
+      messagingServer.getRemotingService().getDispatcher().register(endpoint.newHandler());
 
       log.trace("created and registered " + endpoint);
 

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerBrowserEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerBrowserEndpoint.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerBrowserEndpoint.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -251,7 +251,7 @@
       
       iterator = null;
       
-      session.getConnectionEndpoint().getMessagingServer().getMinaService().getDispatcher().unregister(id);
+      session.getConnectionEndpoint().getMessagingServer().getRemotingService().getDispatcher().unregister(id);
       
       closed = true;
    }

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerConnectionEndpoint.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -235,7 +235,7 @@
 
          messagingServer.addSession(sessionID, ep);
 
-         messagingServer.getMinaService().getDispatcher().register(ep.newHandler());
+         messagingServer.getRemotingService().getDispatcher().register(ep.newHandler());
          
          return new CreateSessionResponse(sessionID, dupsOKBatchSize);
       }
@@ -389,7 +389,7 @@
 
          cm.unregisterConnection(jmsClientVMID, remotingClientSessionID);
 
-         messagingServer.getMinaService().getDispatcher().unregister(id);
+         messagingServer.getRemotingService().getDispatcher().unregister(id);
 
          closed = true;
       }

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerConsumerEndpoint.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -433,7 +433,7 @@
 
       messageQueue.removeConsumer(this);
       
-      sessionEndpoint.getConnectionEndpoint().getMessagingServer().getMinaService().getDispatcher().unregister(id);
+      sessionEndpoint.getConnectionEndpoint().getMessagingServer().getRemotingService().getDispatcher().unregister(id);
             
       // If this is a consumer of a non durable subscription then we want to unbind the
       // subscription and delete all its data.

Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -469,7 +469,7 @@
 
          connectionEndpoint.removeSession(id);
 
-         connectionEndpoint.getMessagingServer().getMinaService().getDispatcher().unregister(id);
+         connectionEndpoint.getMessagingServer().getRemotingService().getDispatcher().unregister(id);
       }
       catch (Throwable t)
       {
@@ -1268,7 +1268,7 @@
 //
 //      	rep.put(queue.getName(), DUR_SUB_STATE_CONSUMERS);
 //      }
-      connectionEndpoint.getMessagingServer().getMinaService().getDispatcher().register(ep.newHandler());
+      connectionEndpoint.getMessagingServer().getRemotingService().getDispatcher().register(ep.newHandler());
 
       CreateConsumerResponse response = new CreateConsumerResponse(consumerID, prefetchSize,
                                                                    maxDeliveryAttemptsToUse, redeliveryDelayToUse );
@@ -1327,7 +1327,7 @@
          browsers.put(browserID, ep);
       }
 
-      connectionEndpoint.getMessagingServer().getMinaService().getDispatcher().register(ep.newHandler());
+      connectionEndpoint.getMessagingServer().getRemotingService().getDispatcher().register(ep.newHandler());
 
       
       log.trace(this + " created and registered " + ep);

Modified: trunk/src/main/org/jboss/messaging/core/Configuration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/Configuration.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/Configuration.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -21,7 +21,11 @@
  */
 package org.jboss.messaging.core;
 
+import static org.jboss.messaging.core.remoting.TransportType.TCP;
+
 import org.jboss.jms.server.security.Role;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
+import org.jboss.messaging.core.remoting.TransportType;
 import org.jboss.messaging.util.XMLUtil;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
@@ -95,9 +99,11 @@
 
    private String _channelPartitionName;
 
+   private TransportType _remotingTransport = TCP;
+
    private Integer _remotingBindAddress;
    
-   private String _remotingTimeout;
+   private Integer _remotingTimeout;
 
    //default confog file location
    private String configurationUrl = "jbm-configuration.xml";
@@ -129,8 +135,9 @@
       _controlChannelName = getString(e, "control-channel-name", _controlChannelName);
       _dataChannelName = getString(e, "data-channel-name", _dataChannelName);
       _channelPartitionName = getString(e, "channel-partition-name", _channelPartitionName);
+      _remotingTransport = TransportType.valueOf(getString(e, "remoting-transport", _remotingTransport.name()));
       _remotingBindAddress = getInteger(e, "remoting-bind-address", _remotingBindAddress);
-      _remotingTimeout = getString(e, "remoting-timeout", _remotingTimeout);
+      _remotingTimeout = getInteger(e, "remoting-timeout", _remotingTimeout);
       NodeList security = e.getElementsByTagName("default-security-config");
       if (security.getLength() > 0)
       {
@@ -418,19 +425,21 @@
       _channelPartitionName = channelPartitionName;
    }
 
-   public Integer getRemotingBindAddress()
+   public int getRemotingBindAddress()
    {
       return _remotingBindAddress;
    }
 
-   public void setRemotingBindAddress(Integer remotingBindAddress)
+   public void setRemotingBindAddress(int remotingBindAddress)
    {
       this._remotingBindAddress = remotingBindAddress;
    }
-   
-   public String getRemotingTimeout()
+
+   public RemotingConfiguration getRemotingConfiguration() 
    {
-       return _remotingTimeout;
+      RemotingConfiguration configuration = new RemotingConfiguration(_remotingTransport, "localhost", _remotingBindAddress);
+      configuration.setTimeout(_remotingTimeout);
+      return configuration;
    }
 
    public String getConfigurationUrl()
@@ -443,3 +452,4 @@
       this.configurationUrl = configurationUrl;
    }
 }
+ 

Modified: trunk/src/main/org/jboss/messaging/core/MessagingServer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/MessagingServer.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/MessagingServer.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -31,7 +31,7 @@
 import org.jboss.jms.server.endpoint.ServerSessionEndpoint;
 import org.jboss.jms.server.plugin.contract.JMSUserManager;
 import org.jboss.jms.server.security.Role;
-import org.jboss.messaging.core.remoting.impl.mina.MinaService;
+import org.jboss.messaging.core.remoting.RemotingService;
 import org.jboss.messaging.util.HierarchicalRepository;
 import org.jboss.messaging.util.Version;
 
@@ -63,9 +63,9 @@
    
    void setConfiguration(Configuration configuration);
    
-   void setMinaService(MinaService minaService);
+   void setRemotingService(RemotingService remotingService);
    
-   MinaService getMinaService();
+   RemotingService getRemotingService();
 
    ServerSessionEndpoint getSession(String sessionID);
 

Modified: trunk/src/main/org/jboss/messaging/core/impl/server/MessagingServerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/server/MessagingServerImpl.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/impl/server/MessagingServerImpl.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -21,6 +21,14 @@
   */
 package org.jboss.messaging.core.impl.server;
 
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.jboss.aop.microcontainer.aspects.jmx.JMX;
 import org.jboss.jms.server.ConnectionManager;
 import org.jboss.jms.server.MessagingTimeoutFactory;
@@ -34,13 +42,22 @@
 import org.jboss.jms.server.security.SecurityMetadataStore;
 import org.jboss.jms.server.security.NullAuthenticationManager;
 import org.jboss.logging.Logger;
-import org.jboss.messaging.core.*;
+import org.jboss.messaging.core.Binding;
+import org.jboss.messaging.core.Condition;
+import org.jboss.messaging.core.Configuration;
+import org.jboss.messaging.core.DestinationType;
+import org.jboss.messaging.core.MemoryManager;
+import org.jboss.messaging.core.MessagingServer;
+import org.jboss.messaging.core.PersistenceManager;
+import org.jboss.messaging.core.PostOffice;
+import org.jboss.messaging.core.Queue;
+import org.jboss.messaging.core.QueueSettings;
 import org.jboss.messaging.core.impl.ConditionImpl;
 import org.jboss.messaging.core.impl.QueueFactoryImpl;
 import org.jboss.messaging.core.impl.memory.SimpleMemoryManager;
 import org.jboss.messaging.core.impl.messagecounter.MessageCounterManager;
 import org.jboss.messaging.core.impl.postoffice.PostOfficeImpl;
-import org.jboss.messaging.core.remoting.impl.mina.MinaService;
+import org.jboss.messaging.core.remoting.RemotingService;
 import org.jboss.messaging.deployers.queue.QueueSettingsDeployer;
 import org.jboss.messaging.deployers.security.SecurityDeployer;
 import org.jboss.messaging.util.ExceptionUtil;
@@ -49,14 +66,6 @@
 import org.jboss.messaging.util.Version;
 import org.jboss.security.AuthenticationManager;
 
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
 /**
  * A Messaging Server
  *
@@ -106,7 +115,7 @@
 
    private JMSUserManager jmsUserManager;
 
-   private MinaService minaService;
+   private RemotingService remotingService;
 
    private Configuration configuration;
    private HierarchicalObjectRepository<HashSet<Role>> securityRepository = new HierarchicalObjectRepository<HashSet<Role>>();
@@ -179,7 +188,7 @@
          postOffice.start();
          ConnectionFactoryAdvisedPacketHandler connectionFactoryAdvisedPacketHandler =
                  new ConnectionFactoryAdvisedPacketHandler(this);
-         getMinaService().getDispatcher().register(connectionFactoryAdvisedPacketHandler);
+         getRemotingService().getDispatcher().register(connectionFactoryAdvisedPacketHandler);
          started = true;
          log.info("JBoss Messaging " + getVersion().getProviderVersion() + " server [" +
                  configuration.getMessagingServerID() + "] started");
@@ -248,14 +257,14 @@
       this.configuration = configuration;
    }
 
-   public void setMinaService(MinaService minaService)
+   public void setRemotingService(RemotingService remotingService)
    {
-      this.minaService = minaService;
+      this.remotingService = remotingService;
    }
 
-   public MinaService getMinaService()
+   public RemotingService getRemotingService()
    {
-      return minaService;
+      return remotingService;
    }
 
    public ServerSessionEndpoint getSession(String sessionID)

Modified: trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -12,16 +12,16 @@
 
 
 /**
- * The ConnectorRegistry keeps track of ServerLocators and NIOConnectors.
+ * The ConnectorRegistry keeps track of RemotingConfigurations and NIOConnectors.
  * 
- * When a {@link MinaService} is started, it register its {@link ServerLocator}.
+ * When a {@link MinaService} is started, it register its {@link RemotingConfiguration}.
  * 
  * When a {@link ClientImpl} is created, it gets its {@link NIOConnector} from the
- * ConnectorRegistry using the {@link ServerLocator} corresponding to the server
- * it wants to connect to. If the ConnectionRegistry contains this locator, it
+ * ConnectorRegistry using the {@link RemotingConfiguration} corresponding to the server
+ * it wants to connect to. If the ConnectionRegistry contains this RemotingConfigurations, it
  * implies that the Client is in the same VM than the server. In that case, we
  * optimize by returning a {@link INVMConnector} regardless of the transport
- * type defined by the locator
+ * type defined by the RemotingConfiguration
  * 
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
  * 
@@ -32,37 +32,36 @@
 {
 
    /**
-    * @return <code>true</code> if this locator has not already been
+    * @return <code>true</code> if this RemotingConfiguration has not already been
     *         registered, <code>false</code> else
     */
-   boolean register(ServerLocator locator, PacketDispatcher serverDispatcher);
+   boolean register(RemotingConfiguration remotingConfig, PacketDispatcher serverDispatcher);
 
    /**
-    * @return <code>true</code> if this locator was registered,
+    * @return <code>true</code> if this RemotingConfiguration was registered,
     *         <code>false</code> else
     */
-   boolean unregister(ServerLocator locator);
+   boolean unregister();
 
-   NIOConnector getConnector(ServerLocator locator);
+   NIOConnector getConnector(RemotingConfiguration remotingConfig);
 
    /**
     * Decrement the number of references on the NIOConnector corresponding to
-    * the locator.
+    * the RemotingConfiguration.
     * 
     * If there is only one reference, remove it from the connectors Map and
     * returns it. Otherwise return null.
     * 
-    * @param locator
-    *           a ServerLocator
+    * @param remotingConfig
+    *           a RemotingConfiguration
     * @return the NIOConnector if there is no longer any references to it or
     *         <code>null</code>
     * @throws IllegalStateException
-    *            if no NIOConnector were created for the given locator
+    *            if no NIOConnector were created for the given RemotingConfiguration
     */
-   NIOConnector removeConnector(ServerLocator locator);
+   NIOConnector removeConnector(RemotingConfiguration remotingConfig);
 
-   ServerLocator[] getRegisteredLocators();
+   RemotingConfiguration[] getRegisteredRemotingConfigurations();
 
-   int getConnectorCount(ServerLocator locator);
-
+   int getConnectorCount(RemotingConfiguration remotingConfig);
 }
\ No newline at end of file

Modified: trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistrySingleton.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistrySingleton.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistrySingleton.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -24,7 +24,7 @@
 
    /**
     * This singleton is used to get NIOConnectors.
-    * It also check if the server locator has been locally registered so that the client
+    * It also check if the RemotingConfiguration has been locally registered so that the client
     * can use an in-vm connection to the server directly and skip the network.
     */
    public static final ConnectorRegistry REGISTRY = new ConnectorRegistryImpl();

Copied: trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java (from rev 3639, trunk/src/main/org/jboss/messaging/core/remoting/ServerLocator.java)
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java	                        (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -0,0 +1,194 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.messaging.core.remoting;
+
+import java.io.Serializable;
+
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ * 
+ * @version <tt>$Revision$</tt>
+ * 
+ */
+public class RemotingConfiguration implements Serializable
+{
+   // Constants -----------------------------------------------------
+
+   private static final long serialVersionUID = 94076009399661407L;
+
+   public static final int DEFAULT_KEEP_ALIVE_INTERVAL = 10; // in seconds
+   public static final int DEFAULT_KEEP_ALIVE_TIMEOUT = 5; // in seconds
+   public static final int DEFAULT_REQRES_TIMEOUT = 5; // in seconds
+   public static final boolean DEFAULT_INVM_DISABLED = false;
+   
+   // Attributes ----------------------------------------------------
+
+   private TransportType transport;
+   private String host;
+   private int port;
+
+   private int timeout = DEFAULT_REQRES_TIMEOUT;
+   private int keepAliveInterval = DEFAULT_KEEP_ALIVE_INTERVAL;
+   private int keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT;
+   private boolean invmDisabled = DEFAULT_INVM_DISABLED;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // for serialization only
+   protected RemotingConfiguration()
+   {
+   }
+  
+   public RemotingConfiguration(TransportType transport, String host, int port)
+   {
+      assert transport != null;
+      assert host != null;
+      assert port > 0;
+      
+      this.transport = transport;
+      this.host = host;
+      this.port = port;
+   }
+   
+   public RemotingConfiguration(RemotingConfiguration other)
+   {
+      assert other != null;
+      
+      this.transport = other.transport;
+      this.host = other.host;
+      this.port = other.port;
+      
+      this.timeout = other.timeout;
+      this.keepAliveInterval = other.keepAliveInterval;
+      this.keepAliveTimeout = other.keepAliveTimeout;
+      this.invmDisabled = other.invmDisabled;
+   }
+
+   // Public --------------------------------------------------------
+
+   public TransportType getTransport()
+   {
+      return transport;
+   }
+
+   public String getHost()
+   {
+      return host;
+   }
+
+   public int getPort()
+   {
+      return port;
+   }
+   
+   public void setKeepAliveInterval(int keepAliveInterval)
+   {
+      this.keepAliveInterval = keepAliveInterval;
+   }
+
+   public int getKeepAliveInterval()
+   {
+      return keepAliveInterval ;
+   }
+
+   public void setKeepAliveTimeout(int keepAliveTimeout)
+   {
+      this.keepAliveTimeout = keepAliveTimeout;
+   }
+
+   public int getKeepAliveTimeout()
+   {
+      return keepAliveTimeout;
+   }
+   
+   public void setTimeout(int timeout)
+   {
+      this.timeout = timeout;
+   }
+   
+   public int getTimeout()
+   {
+      return timeout;
+   }
+
+   public void setInvmDisabled(boolean disabled)
+   {
+      this.invmDisabled = disabled;
+   }
+   
+   public boolean isInvmDisabled()
+   {
+      return invmDisabled;
+   }
+ 
+   public String getURI()
+   {
+      StringBuffer buff = new StringBuffer();
+      buff.append(transport + "://" + host + ":" + port);
+      buff.append("?").append("timeout=").append(timeout);
+      buff.append("&").append("keepAliveInterval=").append(keepAliveInterval);
+      buff.append("&").append("keepAliveTimeout=").append(keepAliveTimeout);
+      buff.append("&").append("invmDisabled=").append(invmDisabled);
+      return buff.toString();
+   }
+
+   @Override
+   public String toString()
+   {
+      return "RemotingConfiguration[uri=" + getURI() + "]";
+   }
+
+   @Override
+   public int hashCode()
+   {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + ((host == null) ? 0 : host.hashCode());
+      result = prime * result + port;
+      result = prime * result
+            + ((transport == null) ? 0 : transport.hashCode());
+      return result;
+   }
+
+   @Override
+   public boolean equals(Object obj)
+   {
+      if (this == obj)
+         return true;
+      if (obj == null)
+         return false;
+      if (getClass() != obj.getClass())
+         return false;
+      final RemotingConfiguration other = (RemotingConfiguration) obj;
+      if (host == null)
+      {
+         if (other.host != null)
+            return false;
+      } else if (!host.equals(other.host))
+         return false;
+      if (port != other.port)
+         return false;
+      if (transport == null)
+      {
+         if (other.transport != null)
+            return false;
+      } else if (!transport.equals(other.transport))
+         return false;
+      return true;
+   }
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}

Added: trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java	                        (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -0,0 +1,22 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.messaging.core.remoting;
+
+import org.jboss.messaging.core.MessagingComponent;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ * @version <tt>$Revision$</tt>
+ *
+ */
+public interface RemotingService extends MessagingComponent
+{
+   PacketDispatcher getDispatcher();
+
+   RemotingConfiguration getRemotingConfiguration();
+}

Deleted: trunk/src/main/org/jboss/messaging/core/remoting/ServerLocator.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ServerLocator.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ServerLocator.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -1,197 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package org.jboss.messaging.core.remoting;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Map.Entry;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * 
- * @version <tt>$Revision$</tt>
- * 
- */
-public class ServerLocator
-{
-   // Constants -----------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   private TransportType transport;
-   private String host;
-   private int port;
-   private Map<String, String> parameters = new HashMap<String, String>();
-
-   // Static --------------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   public ServerLocator(String uri) throws URISyntaxException
-   {
-      assert uri != null;
-      assert uri.length() > 0;
-
-      URI u = new URI(uri);
-
-      try
-      {
-         String scheme = u.getScheme().toUpperCase();
-         this.transport = TransportType.valueOf(scheme);
-      } catch (IllegalArgumentException e)
-      {
-         URISyntaxException use = new URISyntaxException(uri, u.getScheme()
-               .toUpperCase()
-               + " transport type is not supported");
-         use.initCause(e);
-         
-         throw use;
-      }
-      this.host = u.getHost();
-      this.port = u.getPort();
-      
-      String query = u.getQuery();
-      if (query != null)
-      {
-         StringTokenizer tok = new StringTokenizer(query, "&");
-         while(tok.hasMoreTokens())
-         {
-            String token = tok.nextToken();
-            int eq = token.indexOf("=");
-            String name = (eq > -1) ? token.substring(0, eq) : token;
-            String value = (eq > -1) ? token.substring(eq + 1) : "";
-            parameters.put(name, value);
-         }
-      }
-   }
-  
-   public ServerLocator(TransportType transport, String host, int port)
-   {
-      this(transport, host, port, new HashMap<String, String>());
-   }
-   
-   public ServerLocator(TransportType transport, String host, int port, Map<String, String> parameters)
-   {
-      assert transport != null;
-      assert host != null;
-      assert port > 0;
-      assert parameters != null;
-      
-      this.transport = transport;
-      this.host = host;
-      this.port = port;
-      this.parameters = parameters;
-   }
-
-   // Public --------------------------------------------------------
-
-   public TransportType getTransport()
-   {
-      return transport;
-   }
-
-   public String getHost()
-   {
-      return host;
-   }
-
-   public int getPort()
-   {
-      return port;
-   }
-   
-   public Map<String, String> getParameters()
-   {
-      return parameters;
-   }
-
-   public String getURI()
-   {
-      String uri = transport + "://" + host + ":" + port + ((parameters.size() != 0) ? "?" : "");
-      if(parameters.size() != 0)
-      {
-         Iterator<Entry<String, String>> iter = parameters.entrySet().iterator();
-         while(iter.hasNext())
-         {
-            Entry<String, String> entry = iter.next();
-            uri += entry.getKey() + "=" + entry.getValue();
-            if(iter.hasNext())
-            {
-               uri += "&";
-            }
-         }
-      }
-      return uri;
-   }
-
-   @Override
-   public String toString()
-   {
-      return "ServerLocator[uri=" + getURI() + "]";
-   }
-
-   @Override
-   public int hashCode()
-   {
-      final int prime = 31;
-      int result = 1;
-      result = prime * result + ((host == null) ? 0 : host.hashCode());
-      result = prime * result
-            + ((parameters == null) ? 0 : parameters.hashCode());
-      result = prime * result + port;
-      result = prime * result
-            + ((transport == null) ? 0 : transport.hashCode());
-      return result;
-   }
-
-   @Override
-   public boolean equals(Object obj)
-   {
-      if (this == obj)
-         return true;
-      if (obj == null)
-         return false;
-      if (getClass() != obj.getClass())
-         return false;
-      final ServerLocator other = (ServerLocator) obj;
-      if (host == null)
-      {
-         if (other.host != null)
-            return false;
-      } else if (!host.equals(other.host))
-         return false;
-      if (parameters == null)
-      {
-         if (other.parameters != null)
-            return false;
-      } else if (!parameters.equals(other.parameters))
-         return false;
-      if (port != other.port)
-         return false;
-      if (transport == null)
-      {
-         if (other.transport != null)
-            return false;
-      } else if (!transport.equals(other.transport))
-         return false;
-      return true;
-   }
-   
-   
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ClientImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ClientImpl.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ClientImpl.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -7,7 +7,6 @@
 package org.jboss.messaging.core.remoting.impl;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.TIMEOUT_KEY;
 
 import java.io.IOException;
 import java.util.concurrent.TimeUnit;
@@ -20,7 +19,7 @@
 import org.jboss.messaging.core.remoting.Client;
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.NIOSession;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.wireformat.AbstractPacket;
 import org.jboss.messaging.util.Logger;
 
@@ -37,7 +36,7 @@
 
    // Attributes ----------------------------------------------------
 
-   private ServerLocator serverLocator;
+   private RemotingConfiguration remotingConfig;
 
    private final NIOConnector connector;
 
@@ -51,18 +50,14 @@
 
    // Constructors --------------------------------------------------
 
-   public ClientImpl(NIOConnector connector, ServerLocator locator)
+   public ClientImpl(NIOConnector connector, RemotingConfiguration remotingConfig)
    {
       assert connector != null;
-      assert locator != null;
+      assert remotingConfig != null;
       
       this.connector = connector;
-      this.serverLocator = locator;
-      if (locator.getParameters().containsKey(TIMEOUT_KEY))
-      {
-         int timeout = Integer.parseInt(locator.getParameters().get(TIMEOUT_KEY));
-         setBlockingRequestTimeout(timeout, SECONDS);
-      }
+      this.remotingConfig = remotingConfig;
+      setBlockingRequestTimeout(remotingConfig.getTimeout(), SECONDS);
    }
 
    // Public --------------------------------------------------------

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -16,7 +16,7 @@
 import org.jboss.messaging.core.remoting.ConnectorRegistry;
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.TransportType;
 import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
@@ -36,78 +36,97 @@
 
    // Attributes ----------------------------------------------------
 
-   public Map<ServerLocator, PacketDispatcher> locators = new HashMap<ServerLocator, PacketDispatcher>();
+   private RemotingConfiguration localConfiguration = null;
+   private PacketDispatcher localDispatcher = null;
+   
+   public Map<RemotingConfiguration, NIOConnectorHolder> connectors = new HashMap<RemotingConfiguration, NIOConnectorHolder>();
 
-   public Map<ServerLocator, NIOConnectorHolder> connectors = new HashMap<ServerLocator, NIOConnectorHolder>();
-
    // Static --------------------------------------------------------
 
    /**
-    * @return <code>true</code> if this locator has not already been registered,
+    * @return <code>true</code> if this RemotingConfiguration has not already been registered,
     *         <code>false</code> else
     */
-   public boolean register(ServerLocator locator, PacketDispatcher serverDispatcher)
+   public boolean register(RemotingConfiguration remotingConfig, PacketDispatcher serverDispatcher)
    {
-      assert locator != null;
+      assert remotingConfig != null;
       assert serverDispatcher != null;
       
-      PacketDispatcher previousDispatcher = locators.put(locator, serverDispatcher);
+      PacketDispatcher previousDispatcher = localDispatcher;
+      
+      this.localConfiguration = remotingConfig;
+      this.localDispatcher = serverDispatcher;
+      
+      if(log.isDebugEnabled())
+      {
+         log.debug("registered " + localDispatcher + " for " + localConfiguration);
+      }
       return (previousDispatcher == null);
    }
 
    /**
-    * @return <code>true</code> if this locator was registered,
+    * @return <code>true</code> if this RemotingConfiguration was registered,
     *         <code>false</code> else
     */  
-   public boolean unregister(ServerLocator locator)
+   public boolean unregister()
    {
-       PacketDispatcher dispatcher = locators.remove(locator);
+       PacketDispatcher dispatcher = localDispatcher;
+
+       localConfiguration = null;
+       localDispatcher = null;
+       
+       if(log.isDebugEnabled())
+       {
+          log.debug("unregistered " + dispatcher);
+       }
+
        return (dispatcher != null);
    }
 
-   public synchronized NIOConnector getConnector(ServerLocator locator)
+   public synchronized NIOConnector getConnector(RemotingConfiguration remotingConfig)
    {
-      assert locator != null;
+      assert remotingConfig != null;
 
-      if (connectors.containsKey(locator))
+      if (connectors.containsKey(remotingConfig))
       {
-         NIOConnectorHolder holder = connectors.get(locator);
+         NIOConnectorHolder holder = connectors.get(remotingConfig);
          holder.increment();
          NIOConnector connector = holder.getConnector();
 
          if (log.isDebugEnabled())
-            log.debug("Reuse " + connector.getServerURI() + " to connect to "
-                  + locator + " [count=" + holder.getCount() + "]");
+            log.debug("Reuse " + connector + " to connect to "
+                  + remotingConfig + " [count=" + holder.getCount() + "]");
 
          return connector;
       }
 
       // check if the server is in the same vm than the client
-      if (locators.containsKey(locator))
+      if (remotingConfig.equals(localConfiguration))
       {
-         NIOConnector connector = new INVMConnector(locator.getHost(), locator
-               .getPort(), locators.get(locator));
+         NIOConnector connector = new INVMConnector(localConfiguration.getHost(), localConfiguration
+               .getPort(), localDispatcher);
 
          if (log.isDebugEnabled())
-            log.debug("Created " + connector.getServerURI() + " to connect to "
-                  + locator);
+            log.debug("Created " + connector + " to connect to "
+                  + remotingConfig);
 
          NIOConnectorHolder holder = new NIOConnectorHolder(connector);
-         connectors.put(locator, holder);
+         connectors.put(remotingConfig, holder);
          return connector;
       }
 
       NIOConnector connector = null;
 
-      TransportType transport = locator.getTransport();
+      TransportType transport = remotingConfig.getTransport();
 
       if (transport == TCP)
       {
-         connector = new MinaConnector(locator.getTransport(), locator
-               .getHost(), locator.getPort());
+         connector = new MinaConnector(remotingConfig);
       } else if (transport == INVM)
       {
-         connector = new INVMConnector(locator.getHost(), locator.getPort(), locators.get(locator));
+         assert localDispatcher != null;
+         
+         connector = new INVMConnector(remotingConfig.getHost(), remotingConfig.getPort(), localDispatcher);
       }
 
       if (connector == null)
@@ -117,65 +136,65 @@
       }
 
       if (log.isDebugEnabled())
-         log.debug("Created " + connector.getServerURI() + " to connect to "
-               + locator);
+         log.debug("Created " + connector + " to connect to "
+               + remotingConfig);
       
       NIOConnectorHolder holder = new NIOConnectorHolder(connector);
-      connectors.put(locator, holder);
+      connectors.put(remotingConfig, holder);
       return connector;
    }
 
    /**
     * Decrement the number of references on the NIOConnector corresponding to
-    * the locator.
+    * the RemotingConfiguration.
     * 
     * If there is only one reference, remove it from the connectors Map and
     * returns it. Otherwise return null.
     * 
-    * @param locator
-    *           a ServerLocator
+    * @param remotingConfiguration
+    *           a RemotingConfiguration
     * @return the NIOConnector if there is no longer any references to it or
     *         <code>null</code>
     * @throws IllegalStateException
-    *            if no NIOConnector were created for the given locator
+    *            if no NIOConnector were created for the given RemotingConfiguration
     */
-   public synchronized NIOConnector removeConnector(ServerLocator locator)
+   public synchronized NIOConnector removeConnector(RemotingConfiguration remotingConfiguration)
    {
-      assert locator != null;
+      assert remotingConfiguration != null;
 
-      NIOConnectorHolder holder = connectors.get(locator);
+      NIOConnectorHolder holder = connectors.get(remotingConfiguration);
       if (holder == null)
       {
          throw new IllegalStateException("No Connector were created for "
-               + locator);
+               + remotingConfiguration);
       }
 
       if (holder.getCount() == 1)
       {
          if (log.isDebugEnabled())
-            log.debug("Removed connector for " + locator);
-         connectors.remove(locator);
+            log.debug("Removed connector for " + remotingConfiguration);
+         connectors.remove(remotingConfiguration);
          return holder.getConnector();
       } else
       {
          holder.decrement();
          if (log.isDebugEnabled())
-            log.debug(holder.getCount() + " remaining reference to "
-                  + holder.getConnector().getServerURI() + " to " + locator);
+            log.debug(holder.getCount() + " remaining references to "
+                  + holder.getConnector().getServerURI());
          return null;
       }
    }
 
-   public ServerLocator[] getRegisteredLocators()
+   public RemotingConfiguration[] getRegisteredRemotingConfigurations()
    {
-      Set<ServerLocator> registeredLocators = connectors.keySet();
-      return (ServerLocator[]) registeredLocators
-            .toArray(new ServerLocator[registeredLocators.size()]);
+      Set<RemotingConfiguration> registeredRemotingConfigs = connectors.keySet();
+      return (RemotingConfiguration[]) registeredRemotingConfigs
+            .toArray(new RemotingConfiguration[registeredRemotingConfigs.size()]);
    }
 
-   public int getConnectorCount(ServerLocator locator)
+   public int getConnectorCount(RemotingConfiguration remotingConfig)
    {
-      NIOConnectorHolder holder = connectors.get(locator);
+      NIOConnectorHolder holder = connectors.get(remotingConfig);
       if (holder == null)
       {
          return 0;

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -6,15 +6,12 @@
  */
 package org.jboss.messaging.core.remoting.impl.mina;
 
-import static org.jboss.messaging.core.remoting.TransportType.TCP;
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addBlockingRequestResponseFilter;
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addCodecFilter;
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addExecutorFilter;
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addKeepAliveFilter;
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addLoggingFilter;
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addMDCFilter;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_INTERVAL_KEY;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_TIMEOUT_KEY;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -33,13 +30,12 @@
 import org.apache.mina.common.IoSession;
 import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener;
-import org.jboss.messaging.core.remoting.KeepAliveFactory;
 import org.jboss.messaging.core.remoting.ConnectionExceptionListener;
+import org.jboss.messaging.core.remoting.KeepAliveFactory;
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.NIOSession;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.ServerLocator;
-import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.wireformat.AbstractPacket;
 import org.jboss.messaging.core.remoting.wireformat.SetSessionIDMessage;
 import org.jboss.messaging.util.Logger;
@@ -55,13 +51,11 @@
    // Constants -----------------------------------------------------
 
    private final Logger log = Logger.getLogger(MinaConnector.class);
-
+   
    // Attributes ----------------------------------------------------
 
-   private String host;
+   private RemotingConfiguration configuration;
 
-   private int port;
-
    private NioSocketConnector connector;
 
    private ScheduledExecutorService blockingScheduler;
@@ -78,53 +72,27 @@
 
    // Public --------------------------------------------------------
 
-   public MinaConnector(ServerLocator locator)
+   public MinaConnector(RemotingConfiguration configuration)
    {
-      this(locator.getTransport(), locator.getHost(), locator.getPort(),
-            locator.getParameters(), new ClientKeepAliveFactory());
+      this(configuration, new ClientKeepAliveFactory());
    }
 
-   public MinaConnector(ServerLocator locator, KeepAliveFactory keepAliveFactory)
+   public MinaConnector(RemotingConfiguration configuration, KeepAliveFactory keepAliveFactory)
    {
-      this(locator.getTransport(), locator.getHost(), locator.getPort(),
-            locator.getParameters(), keepAliveFactory);
-   }
-
-   public MinaConnector(TransportType transport, String host, int port)
-   {
-      this(transport, host, port, new HashMap<String, String>(),
-            new ClientKeepAliveFactory());
-   }
-
-   private MinaConnector(TransportType transport, String host, int port,
-         Map<String, String> parameters, KeepAliveFactory keepAliveFactory)
-   {
-      assert transport == TCP;
-      assert host != null;
-      assert port > 0;
-      assert parameters != null;
+      assert configuration != null;
       assert keepAliveFactory != null;
 
-      this.host = host;
-      this.port = port;
+      this.configuration = configuration;
 
       this.connector = new NioSocketConnector();
       DefaultIoFilterChainBuilder filterChain = connector.getFilterChain();
 
-      // FIXME no hard-coded values
-      int keepAliveInterval = parameters.containsKey(KEEP_ALIVE_INTERVAL_KEY) ? Integer
-            .parseInt(parameters.get(KEEP_ALIVE_INTERVAL_KEY))
-            : 10;
-      int keepAliveTimeout = parameters.containsKey(KEEP_ALIVE_TIMEOUT_KEY) ? Integer
-            .parseInt(parameters.get(KEEP_ALIVE_TIMEOUT_KEY))
-            : 5;
-
       addMDCFilter(filterChain);
       addCodecFilter(filterChain);
       addLoggingFilter(filterChain);
       blockingScheduler = addBlockingRequestResponseFilter(filterChain);
-      addKeepAliveFilter(filterChain, keepAliveFactory, keepAliveInterval,
-            keepAliveTimeout);
+      addKeepAliveFilter(filterChain, keepAliveFactory, configuration.getKeepAliveInterval(),
+            configuration.getKeepAliveTimeout());
       addExecutorFilter(filterChain);
 
       connector.setHandler(new MinaHandler(PacketDispatcher.client, this));
@@ -140,7 +108,7 @@
       {
          return new MinaSession(session);
       }
-      InetSocketAddress address = new InetSocketAddress(host, port);
+      InetSocketAddress address = new InetSocketAddress(configuration.getHost(), configuration.getPort());
       ConnectFuture future = connector.connect(address);
       connector.setDefaultRemoteAddress(address);
 
@@ -205,19 +173,8 @@
    }
 
    public String getServerURI()
-   {
-      if (connector == null)
-      {
-         return TCP + "://" + host + ":" + port;
-      }
-      InetSocketAddress address = connector.getDefaultRemoteAddress();
-      if (address != null)
-      {
-         return TCP + "://" + address.toString();
-      } else
-      {
-         return TCP + "://" + host + ":" + port;
-      }
+   { 
+      return configuration.getURI();
    }
 
    public void setConnectionExceptionListener(ConnectionExceptionListener listener)
@@ -242,6 +199,13 @@
       }
    }
 
+   // Public --------------------------------------------------------
+   
+   @Override
+   public String toString()
+   {
+      return "MinaConnector@" + System.identityHashCode(this) + "[configuration=" + configuration + "]"; 
+   }
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -14,9 +14,7 @@
 import static org.jboss.messaging.core.remoting.impl.mina.FilterChainSupport.addMDCFilter;
 
 import java.net.InetSocketAddress;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.TimeoutException;
 
@@ -28,8 +26,8 @@
 import org.jboss.messaging.core.remoting.KeepAliveFactory;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
 import org.jboss.messaging.core.remoting.PacketFilter;
-import org.jboss.messaging.core.remoting.ServerLocator;
-import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
+import org.jboss.messaging.core.remoting.RemotingService;
 import org.jboss.messaging.util.Logger;
 
 /**
@@ -38,27 +36,18 @@
  * @version <tt>$Revision$</tt>
  * 
  */
-public class MinaService implements KeepAliveNotifier
+public class MinaService implements RemotingService, KeepAliveNotifier
 {
    // Constants -----------------------------------------------------
 
    private static final Logger log = Logger.getLogger(MinaService.class);
 
-   public static final String TIMEOUT_KEY = "timeout";
-   public static final String KEEP_ALIVE_INTERVAL_KEY = "keepAliveInterval";
-   public static final String KEEP_ALIVE_TIMEOUT_KEY = "keepAliveTimeout";
    public static final String DISABLE_INVM_KEY = "disable-invm";
 
    // Attributes ----------------------------------------------------
 
-   private TransportType transport;
-
-   private final String host;
-
-   private final int port;
-
-   private Map<String, String> parameters;
-
+   private RemotingConfiguration remotingConfig;
+   
    private NioSocketAcceptor acceptor;
 
    private PacketDispatcher dispatcher;
@@ -72,28 +61,22 @@
    // Static --------------------------------------------------------
 
    // Constructors --------------------------------------------------
-
-   public MinaService(String transport, String host, int port)
+   
+   public MinaService(RemotingConfiguration remotingConfig)
    {
-      this(TransportType.valueOf(transport.toUpperCase()), host, port, new ServerKeepAliveFactory());
+      this(remotingConfig, new ServerKeepAliveFactory());
    }
 
-   public MinaService(TransportType transport, String host, int port, KeepAliveFactory factory)
+   public MinaService(RemotingConfiguration remotingConfig, KeepAliveFactory factory)
    {
-      assert transport != null;
-      assert host != null;
-      assert port > 0;
+      assert remotingConfig != null;
       assert factory != null;
 
-      this.transport = transport;
-      this.host = host;
-      this.port = port;
-      this.parameters = new HashMap<String, String>();
+      this.remotingConfig = remotingConfig;
       this.factory = factory;
       this.dispatcher = new PacketDispatcher(this.filters);
    }
    
-   
    @Install
    public void addFilter(PacketFilter filter)
    {
@@ -113,45 +96,13 @@
       this.listener = listener;
    }
    
-   // KeepAliveManager implementation -------------------------------
+   // TransportService implementation -------------------------------
 
-   public void notifyKeepAliveTimeout(TimeoutException e, String remoteSessionID)
-   {
-      if (listener != null)
-      {
-         String clientSessionID = PacketDispatcher.sessions.get(remoteSessionID);
-         listener.handleConnectionException(e, clientSessionID);
-      }
-   }
-
-   // Public --------------------------------------------------------
-
-   public void setParameters(Map<String, String> parameters)
-   {
-      assert parameters != null;
-
-      this.parameters = parameters;
-   }
-
-   public void setKeepAliveFactory(KeepAliveFactory factory)
-   {
-      assert factory != null;
-      
-      this.factory = factory;
-   }
-
-   public ServerLocator getLocator()
-   {
-      return new ServerLocator(transport, host, port, parameters);
-   }
-
-   public PacketDispatcher getDispatcher()
-   {
-      return dispatcher;
-   }
-
    public void start() throws Exception
    {
+      if (log.isDebugEnabled())
+         log.debug("Start MinaService with configuration:" + remotingConfig);
+      
       if (acceptor == null)
       {
          acceptor = new NioSocketAcceptor();
@@ -160,20 +111,12 @@
          addMDCFilter(filterChain);
          addCodecFilter(filterChain);
          addLoggingFilter(filterChain);
-         if (parameters.containsKey(KEEP_ALIVE_INTERVAL_KEY)
-               && parameters.containsKey(KEEP_ALIVE_TIMEOUT_KEY))
-         {
-            int keepAliveInterval = Integer.parseInt(parameters
-                  .get(KEEP_ALIVE_INTERVAL_KEY));
-            int keepAliveTimeout = Integer.parseInt(parameters
-                  .get(KEEP_ALIVE_TIMEOUT_KEY));
-            addKeepAliveFilter(filterChain, factory,
-                  keepAliveInterval, keepAliveTimeout);
-         }
+         addKeepAliveFilter(filterChain, factory,
+               remotingConfig.getKeepAliveInterval(), remotingConfig.getKeepAliveTimeout());
          addExecutorFilter(filterChain);
 
          // Bind
-         acceptor.setLocalAddress(new InetSocketAddress(host, port));
+         acceptor.setLocalAddress(new InetSocketAddress(remotingConfig.getHost(), remotingConfig.getPort()));
          acceptor.setReuseAddress(true);
          acceptor.getSessionConfig().setReuseAddress(true);
          acceptor.getSessionConfig().setKeepAlive(true);
@@ -182,13 +125,11 @@
          acceptor.setHandler(new MinaHandler(dispatcher, this));
          acceptor.bind();
 
-         boolean disableInvm = false;
-         if (parameters.containsKey(DISABLE_INVM_KEY))
-               disableInvm = Boolean.valueOf(parameters.get(DISABLE_INVM_KEY)).booleanValue();
+         boolean disableInvm = remotingConfig.isInvmDisabled();
          if (log.isDebugEnabled())
             log.debug("invm optimization for remoting is " + (disableInvm ? "disabled" : "enabled"));
          if (!disableInvm)
-            REGISTRY.register(getLocator(), dispatcher);
+            REGISTRY.register(remotingConfig, dispatcher);
       }
    }
 
@@ -199,11 +140,41 @@
          acceptor.unbind();
          acceptor.dispose();
          acceptor = null;
+      }
+      
+      REGISTRY.unregister();
+   }
 
-         REGISTRY.unregister(getLocator());
+   public PacketDispatcher getDispatcher()
+   {
+      return dispatcher;
+   }
+   
+   public RemotingConfiguration getRemotingConfiguration()
+   {
+      return remotingConfig;
+   }
+
+   // KeepAliveManager implementation -------------------------------
+
+   public void notifyKeepAliveTimeout(TimeoutException e, String remoteSessionID)
+   {
+      if (listener != null)
+      {
+         String clientSessionID = PacketDispatcher.sessions.get(remoteSessionID);
+         listener.handleConnectionException(e, clientSessionID);
       }
    }
 
+   // Public --------------------------------------------------------
+
+   public void setKeepAliveFactory(KeepAliveFactory factory)
+   {
+      assert factory != null;
+      
+      this.factory = factory;
+   }
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------

Modified: trunk/tests/src/org/jboss/jms/server/test/unit/ConfigurationTest.java
===================================================================
--- trunk/tests/src/org/jboss/jms/server/test/unit/ConfigurationTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/jms/server/test/unit/ConfigurationTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -29,6 +29,8 @@
 
 import org.jboss.jms.server.security.Role;
 import org.jboss.messaging.core.Configuration;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
+import org.jboss.messaging.core.remoting.TransportType;
 
 /**
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
@@ -177,9 +179,12 @@
       assertEquals("failed to set channel partition name", "JMStest", configuration.getChannelPartitionName());
    }
 
-   public void testSetRemoteBindAddress() throws Exception
+   public void testSetRemotingConfiguration() throws Exception
    {
-      assertEquals("failed to set bin address", new Integer(10000), configuration.getRemotingBindAddress());
+      RemotingConfiguration remotingConfig = configuration.getRemotingConfiguration();
+      assertEquals(TransportType.TCP, remotingConfig.getTransport());
+      assertEquals(10000, remotingConfig.getPort());
+      assertEquals(100, remotingConfig.getTimeout());
    }
 
    public void testPropertyChangeListener() throws Exception

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/ClientTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/ClientTestBase.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/ClientTestBase.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -18,7 +18,7 @@
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
 import org.jboss.messaging.core.remoting.PacketSender;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.mina.integration.test.ReversePacketHandler;
 import org.jboss.messaging.core.remoting.test.unit.TestPacketHandler;
 import org.jboss.messaging.core.remoting.wireformat.AbstractPacket;
@@ -52,7 +52,7 @@
    public void testConnected() throws Exception
    {
       NIOConnector connector = createNIOConnector();
-      Client client = new ClientImpl(connector, createServerLocator());
+      Client client = new ClientImpl(connector, createRemotingConfiguration());
       
       assertFalse(client.isConnected());
 
@@ -193,9 +193,9 @@
    {
       serverDispatcher = startServer();
       
-      ServerLocator serverLocator = createServerLocator();
+      RemotingConfiguration remotingConfig = createRemotingConfiguration();
       connector = createNIOConnector();
-      client = new ClientImpl(connector, serverLocator);
+      client = new ClientImpl(connector, remotingConfig);
       client.connect();
       
       serverPacketHandler = new ReversePacketHandler();
@@ -215,7 +215,7 @@
       serverDispatcher = null;
    }
    
-   protected abstract ServerLocator createServerLocator();
+   protected abstract RemotingConfiguration createRemotingConfiguration();
    
    protected abstract NIOConnector createNIOConnector();
 

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMClientTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMClientTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -11,7 +11,7 @@
 
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.ClientTestBase;
 import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
 
@@ -43,9 +43,9 @@
    }
    
    @Override
-   protected ServerLocator createServerLocator()
+   protected RemotingConfiguration createRemotingConfiguration()
    {
-      return new ServerLocator(INVM, "localhost", PORT);
+      return new RemotingConfiguration(INVM, "localhost", PORT);
    }
    
    @Override

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ClientKeepAliveTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ClientKeepAliveTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ClientKeepAliveTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -12,14 +12,10 @@
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.verify;
 import static org.jboss.messaging.core.remoting.TransportType.TCP;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_INTERVAL_KEY;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_TIMEOUT_KEY;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.KEEP_ALIVE_INTERVAL;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.KEEP_ALIVE_TIMEOUT;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.PORT;
 
-import java.util.HashMap;
-import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 
 import junit.framework.TestCase;
@@ -27,6 +23,7 @@
 import org.jboss.messaging.core.remoting.ConnectionExceptionListener;
 import org.jboss.messaging.core.remoting.KeepAliveFactory;
 import org.jboss.messaging.core.remoting.NIOSession;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 import org.jboss.messaging.core.remoting.wireformat.Ping;
@@ -55,11 +52,10 @@
    @Override
    protected void setUp() throws Exception
    {
-      service = new MinaService(TCP.toString(), "localhost", PORT);
-      Map<String, String> parameters = new HashMap<String, String>();
-      parameters.put(KEEP_ALIVE_INTERVAL_KEY, Integer.toString(KEEP_ALIVE_INTERVAL));
-      parameters.put(KEEP_ALIVE_TIMEOUT_KEY, Integer.toString(KEEP_ALIVE_TIMEOUT));
-      service.setParameters(parameters);
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
+      remotingConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
+      remotingConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
+      service = new MinaService(remotingConfig);
       service.start();
    }
 
@@ -81,8 +77,6 @@
 
       replay(factory);
 
-      MinaConnector connector = new MinaConnector(service.getLocator(), factory);
-      connector.connect();
       
       final CountDownLatch latch = new CountDownLatch(1);
 
@@ -94,6 +88,9 @@
          }
       });
 
+      MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), factory);
+      connector.connect();
+
       boolean firedKeepAliveNotification = latch.await(KEEP_ALIVE_INTERVAL
             + KEEP_ALIVE_TIMEOUT + 1, SECONDS);
       assertFalse(firedKeepAliveNotification);
@@ -114,11 +111,6 @@
 
       replay(factory);
 
-      MinaConnector connector = new MinaConnector(service.getLocator(), factory);
-
-      NIOSession session = connector.connect();
-      String clientSessionID = session.getID();
-
       final String[] clientSessionIDNotResponding = new String[1];
       final CountDownLatch latch = new CountDownLatch(1);
 
@@ -130,7 +122,12 @@
             latch.countDown();
          }
       });
+      
+      MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), factory);
 
+      NIOSession session = connector.connect();
+      String clientSessionID = session.getID();
+
       boolean firedKeepAliveNotification = latch.await(KEEP_ALIVE_INTERVAL
             + KEEP_ALIVE_TIMEOUT + 2, SECONDS);
       assertTrue("notification has not been received", firedKeepAliveNotification);
@@ -167,7 +164,7 @@
 
       try
       {
-         MinaConnector connector = new MinaConnector(service.getLocator(),
+         MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(),
                factory);
 
          NIOSession session = connector.connect();
@@ -216,17 +213,6 @@
 
       replay(notRespondingfactory, respondingfactory);
 
-      MinaConnector connectorNotResponding = new MinaConnector(service
-            .getLocator(), notRespondingfactory);
-      MinaConnector connectorResponding = new MinaConnector(service
-            .getLocator(), respondingfactory);
-
-      NIOSession sessionNotResponding = connectorNotResponding.connect();
-      String clientSessionIDNotResponding = sessionNotResponding.getID();
-
-      NIOSession sessionResponding = connectorResponding.connect();
-      String clientSessionIDResponding = sessionResponding.getID();
-
       final String[] sessionIDNotResponding = new String[1];
       final CountDownLatch latch = new CountDownLatch(1);
 
@@ -238,7 +224,19 @@
             latch.countDown();
          }
       });
+      
+      MinaConnector connectorNotResponding = new MinaConnector(service
+            .getRemotingConfiguration(), notRespondingfactory);
+      MinaConnector connectorResponding = new MinaConnector(service
+            .getRemotingConfiguration(), respondingfactory);
 
+      NIOSession sessionNotResponding = connectorNotResponding.connect();
+      String clientSessionIDNotResponding = sessionNotResponding.getID();
+
+      
+      NIOSession sessionResponding = connectorResponding.connect();
+      String clientSessionIDResponding = sessionResponding.getID();
+
       boolean firedKeepAliveNotification = latch.await(KEEP_ALIVE_INTERVAL
             + KEEP_ALIVE_TIMEOUT + 2, SECONDS);
       assertTrue("notification has not been received", firedKeepAliveNotification);

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaClientTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -14,7 +14,7 @@
 
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.ClientTestBase;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -64,19 +64,19 @@
    @Override
    protected NIOConnector createNIOConnector()
    {
-      return new MinaConnector(TCP, "localhost", PORT);
+      return new MinaConnector(createRemotingConfiguration());
    }
    
    @Override
-   protected ServerLocator createServerLocator()
+   protected RemotingConfiguration createRemotingConfiguration()
    {
-      return new ServerLocator(TCP, "localhost", PORT);
+      return new RemotingConfiguration(TCP, "localhost", PORT);
    }
 
    @Override
    protected PacketDispatcher startServer() throws Exception
    {
-      service = new MinaService(TCP.toString(), "localhost", PORT);
+      service = new MinaService(createRemotingConfiguration());
       service.start();
       return service.getDispatcher();
    }

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ServerKeepAliveTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ServerKeepAliveTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ServerKeepAliveTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -12,14 +12,10 @@
 import static org.easymock.EasyMock.replay;
 import static org.easymock.EasyMock.verify;
 import static org.jboss.messaging.core.remoting.TransportType.TCP;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_INTERVAL_KEY;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_TIMEOUT_KEY;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.KEEP_ALIVE_INTERVAL;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.KEEP_ALIVE_TIMEOUT;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.PORT;
 
-import java.util.HashMap;
-import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 
 import junit.framework.TestCase;
@@ -27,6 +23,7 @@
 import org.jboss.messaging.core.remoting.ConnectionExceptionListener;
 import org.jboss.messaging.core.remoting.KeepAliveFactory;
 import org.jboss.messaging.core.remoting.NIOSession;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 
@@ -73,14 +70,13 @@
 
       replay(factory);
       
-      service = new MinaService(TCP, "localhost", PORT, factory);
-      Map<String, String> parameters = new HashMap<String, String>();
-      parameters.put(KEEP_ALIVE_INTERVAL_KEY, Integer.toString(KEEP_ALIVE_INTERVAL));
-      parameters.put(KEEP_ALIVE_TIMEOUT_KEY, Integer.toString(KEEP_ALIVE_TIMEOUT));
-      service.setParameters(parameters);
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
+      remotingConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
+      remotingConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
+      service = new MinaService(remotingConfig, factory);
       service.start();
 
-      MinaConnector connector = new MinaConnector(service.getLocator());
+      MinaConnector connector = new MinaConnector(service.getRemotingConfiguration());
       final String[] sessionIDNotResponding = new String[1];
       final CountDownLatch latch = new CountDownLatch(1);
  

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/stress/PacketStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/stress/PacketStressTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/stress/PacketStressTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -19,6 +19,7 @@
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketHandler;
 import org.jboss.messaging.core.remoting.PacketSender;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.ClientImpl;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -53,9 +54,10 @@
    @Override
    protected void setUp() throws Exception
    {
-      service = new MinaService(TCP.toString(), "localhost", PORT);
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
+      service = new MinaService(remotingConfig);
       service.start();
-      connector = new MinaConnector(TCP, "localhost", PORT);
+      connector = new MinaConnector(remotingConfig);
       
    }
    
@@ -83,7 +85,7 @@
       CountDownLatch latch = new CountDownLatch(1);
       
       service.getDispatcher().register(new ServerHandler(handlerID, latch, spinner));
-      Client client = new ClientImpl(connector, service.getLocator());
+      Client client = new ClientImpl(connector, service.getRemotingConfiguration());
       client.connect();
       
       byte[] payloadBytes = generatePayload(PAYLOAD);

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ClientTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ClientTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -23,7 +23,7 @@
 import org.jboss.messaging.core.remoting.Client;
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.NIOSession;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.ClientImpl;
 import org.jboss.messaging.core.remoting.wireformat.NullPacket;
 
@@ -44,7 +44,7 @@
 
    // Public --------------------------------------------------------
 
-   private ServerLocator serverLocator;
+   private RemotingConfiguration remotingConfig;
 
    public void testConnected() throws Exception
    {
@@ -58,7 +58,7 @@
       
       replay(connector, session1, session2);
 
-      Client client = new ClientImpl(connector, serverLocator);
+      Client client = new ClientImpl(connector, remotingConfig);
       client.connect();
       assertTrue(client.isConnected());
       assertTrue(client.disconnect());
@@ -81,7 +81,7 @@
 
       replay(connector);
 
-      Client client = new ClientImpl(connector, serverLocator);
+      Client client = new ClientImpl(connector, remotingConfig);
       
       try
       {
@@ -107,7 +107,7 @@
       
       replay(connector, session);
       
-      Client client = new ClientImpl(connector, serverLocator);
+      Client client = new ClientImpl(connector, remotingConfig);
       
       assertNull(client.getSessionID());
       client.connect();
@@ -135,7 +135,7 @@
       
       replay(connector, session);
       
-      Client client = new ClientImpl(connector, serverLocator);
+      Client client = new ClientImpl(connector, remotingConfig);
       
       assertNull(client.getURI());
       client.connect();
@@ -153,7 +153,7 @@
       // connector is not expected to be called at all;
       replay(connector);
       
-      Client client = new ClientImpl(connector, serverLocator);
+      Client client = new ClientImpl(connector, remotingConfig);
       try
       {
          client.send(new NullPacket(), true);
@@ -171,13 +171,13 @@
    {
       super.setUp();
       
-      this.serverLocator = new ServerLocator(TCP, "localhost", PORT);
+      this.remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
    }
    
    @Override
    protected void tearDown() throws Exception
    {
-      serverLocator = null;
+      remotingConfig = null;
 
       super.tearDown();
    }

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -14,7 +14,7 @@
 import org.jboss.messaging.core.remoting.ConnectorRegistry;
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.ConnectorRegistryImpl;
 
 /**
@@ -43,131 +43,131 @@
    {
       registry = new ConnectorRegistryImpl();
       dispatcher = new PacketDispatcher();
-      assertEquals(0, registry.getRegisteredLocators().length);
+      assertEquals(0, registry.getRegisteredRemotingConfigurations().length);
    }
    
    @Override
    protected void tearDown() throws Exception
    {
-      assertEquals(0, registry.getRegisteredLocators().length);
+      assertEquals(0, registry.getRegisteredRemotingConfigurations().length);
       registry = null;
    }
    
-   public void testLocatorRegistration() throws Exception
+   public void testRemotingConfigurationRegistration() throws Exception
    {
-      ServerLocator locator = new ServerLocator(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
       
-      assertTrue(registry.register(locator, dispatcher));
-      assertFalse(registry.register(locator, dispatcher));
+      assertTrue(registry.register(remotingConfig, dispatcher));
+      assertFalse(registry.register(remotingConfig, dispatcher));
       
-      assertTrue(registry.unregister(locator));
-      assertFalse(registry.unregister(locator));
+      assertTrue(registry.unregister());
+      assertFalse(registry.unregister());
 
-      assertTrue(registry.register(locator, dispatcher));
-      assertTrue(registry.unregister(locator));
+      assertTrue(registry.register(remotingConfig, dispatcher));
+      assertTrue(registry.unregister());
    }
    
-   public void testINVMConnectorFromTCPLocator() throws Exception
+   public void testINVMConnectorFromTCPRemotingConfiguration() throws Exception
    {
-      ServerLocator locator = new ServerLocator(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
       
-      // locator is registered -> client and server are in the same vm
-      assertTrue(registry.register(locator, dispatcher));
+      // remotingConfig is registered -> client and server are in the same vm
+      assertTrue(registry.register(remotingConfig, dispatcher));
       
-      NIOConnector connector = registry.getConnector(locator);
+      NIOConnector connector = registry.getConnector(remotingConfig);
       
       assertTrue(connector.getServerURI().startsWith(INVM.toString()));
       
-      assertTrue(registry.unregister(locator));
+      assertTrue(registry.unregister());
       
-      assertNotNull(registry.removeConnector(locator));
+      assertNotNull(registry.removeConnector(remotingConfig));
    }
    
    
-   public void testTCPConnectorFromTCPLocator() throws Exception
+   public void testTCPConnectorFromTCPRemotingConfiguration() throws Exception
    {
-      ServerLocator locator = new ServerLocator(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
       
-      // locator is not registered -> client and server are not in the same vm
+      // remotingConfig is not registered -> client and server are not in the same vm
       
-      NIOConnector connector = registry.getConnector(locator);
+      NIOConnector connector = registry.getConnector(remotingConfig);
       
       assertNotNull(connector);
-      assertEquals(locator.getURI(), connector.getServerURI());
+      assertEquals(remotingConfig.getURI(), connector.getServerURI());
       
-      assertNotNull(registry.removeConnector(locator));
+      assertNotNull(registry.removeConnector(remotingConfig));
    }
    
    public void testConnectorCount() throws Exception
    {
-      ServerLocator locator = new ServerLocator(TCP, "localhost", PORT);
-      assertEquals(0, registry.getConnectorCount(locator));
+      RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
+      assertEquals(0, registry.getConnectorCount(remotingConfig));
 
-      NIOConnector connector1 = registry.getConnector(locator);
-      assertEquals(1, registry.getConnectorCount(locator));
+      NIOConnector connector1 = registry.getConnector(remotingConfig);
+      assertEquals(1, registry.getConnectorCount(remotingConfig));
 
-      NIOConnector connector2 = registry.getConnector(locator);
-      assertEquals(2, registry.getConnectorCount(locator));
+      NIOConnector connector2 = registry.getConnector(remotingConfig);
+      assertEquals(2, registry.getConnectorCount(remotingConfig));
 
       assertSame(connector1, connector2);
       
-      assertNull(registry.removeConnector(locator));
-      assertEquals(1, registry.getConnectorCount(locator));
+      assertNull(registry.removeConnector(remotingConfig));
+      assertEquals(1, registry.getConnectorCount(remotingConfig));
 
-      NIOConnector connector3 = registry.getConnector(locator);
-      assertEquals(2, registry.getConnectorCount(locator));
+      NIOConnector connector3 = registry.getConnector(remotingConfig);
+      assertEquals(2, registry.getConnectorCount(remotingConfig));
 
       assertSame(connector1, connector3);
       
-      assertNull(registry.removeConnector(locator));
-      assertNotNull(registry.removeConnector(locator));
-      assertEquals(0, registry.getConnectorCount(locator));
+      assertNull(registry.removeConnector(remotingConfig));
+      assertNotNull(registry.removeConnector(remotingConfig));
+      assertEquals(0, registry.getConnectorCount(remotingConfig));
    }
    
    public void testConnectorCount_2() throws Exception
    {
-      ServerLocator locator1 = new ServerLocator(TCP, "localhost", PORT);
-      ServerLocator locator2 = new ServerLocator(TCP, "127.0.0.1", PORT);
+      RemotingConfiguration remotingConfig1 = new RemotingConfiguration(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig2 = new RemotingConfiguration(TCP, "127.0.0.1", PORT);
 
-      assertNotSame(locator1, locator2);
+      assertNotSame(remotingConfig1, remotingConfig2);
       
-      assertEquals(0, registry.getConnectorCount(locator1));
-      assertEquals(0, registry.getConnectorCount(locator2));
+      assertEquals(0, registry.getConnectorCount(remotingConfig1));
+      assertEquals(0, registry.getConnectorCount(remotingConfig2));
 
-      NIOConnector connector1 = registry.getConnector(locator1);
-      assertEquals(1, registry.getConnectorCount(locator1));
+      NIOConnector connector1 = registry.getConnector(remotingConfig1);
+      assertEquals(1, registry.getConnectorCount(remotingConfig1));
 
-      NIOConnector connector2 = registry.getConnector(locator2);
-      assertEquals(1, registry.getConnectorCount(locator2));
+      NIOConnector connector2 = registry.getConnector(remotingConfig2);
+      assertEquals(1, registry.getConnectorCount(remotingConfig2));
       
       assertNotSame(connector1, connector2);
       
-      assertNotNull(registry.removeConnector(locator1));
-      assertNotNull(registry.removeConnector(locator2));
+      assertNotNull(registry.removeConnector(remotingConfig1));
+      assertNotNull(registry.removeConnector(remotingConfig2));
    }
    
    /**
-    * Check that 2 ServerLocators which are equals (but not the same object) will
+    * Check that 2 RemotingConfiguration which are equals (but not the same object) will
     * return the same NIOConnector
     */
-   public void testServerLocatorEquality() throws Exception
+   public void testRemotingConfigurationEquality() throws Exception
    {
-      ServerLocator locator1 = new ServerLocator(TCP, "localhost", PORT);
-      ServerLocator locator2 = new ServerLocator(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig1 = new RemotingConfiguration(TCP, "localhost", PORT);
+      RemotingConfiguration remotingConfig2 = new RemotingConfiguration(TCP, "localhost", PORT);
 
-      assertNotSame(locator1, locator2);
-      assertEquals(locator1, locator2);
+      assertNotSame(remotingConfig1, remotingConfig2);
+      assertEquals(remotingConfig1, remotingConfig2);
 
-      NIOConnector connector1 = registry.getConnector(locator1);
-      assertEquals(1, registry.getConnectorCount(locator1));
+      NIOConnector connector1 = registry.getConnector(remotingConfig1);
+      assertEquals(1, registry.getConnectorCount(remotingConfig1));
 
-      NIOConnector connector2 = registry.getConnector(locator2);
-      assertEquals(2, registry.getConnectorCount(locator2));
+      NIOConnector connector2 = registry.getConnector(remotingConfig2);
+      assertEquals(2, registry.getConnectorCount(remotingConfig2));
 
       assertSame(connector1, connector2);
 
-      assertNull(registry.removeConnector(locator1));
-      assertNotNull(registry.removeConnector(locator2));
+      assertNull(registry.removeConnector(remotingConfig1));
+      assertNotNull(registry.removeConnector(remotingConfig2));
    }
 
    // Package protected ---------------------------------------------

Deleted: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ServerLocatorTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ServerLocatorTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ServerLocatorTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -1,121 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package org.jboss.messaging.core.remoting.test.unit;
-
-import static org.jboss.messaging.core.remoting.TransportType.HTTP;
-import static org.jboss.messaging.core.remoting.TransportType.INVM;
-import static org.jboss.messaging.core.remoting.TransportType.TCP;
-
-import java.net.URISyntaxException;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.jboss.messaging.core.remoting.ServerLocator;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * 
- * @version <tt>$Revision$</tt>
- * 
- */
-public class ServerLocatorTest extends TestCase
-{
-   // Constants -----------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   // Static --------------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   // Public --------------------------------------------------------
-
-   public void testUnknownTransport() throws Exception
-   {
-      try
-      {
-         new ServerLocator("whatever://localhost:9090");
-         fail("whatever is not a supported transport type");
-      } catch (URISyntaxException e)
-      {
-
-      }
-   }
-
-   public void testTCPTransport() throws Exception
-   {
-      ServerLocator locator = new ServerLocator("tcp://localhost:9090");
-
-      assertEquals(TCP, locator.getTransport());
-      assertEquals("localhost", locator.getHost());
-      assertEquals(9090, locator.getPort());
-   }
-
-   public void testHTTPTransport() throws Exception
-   {
-      ServerLocator locator = new ServerLocator("http://localhost:9090");
-
-      assertEquals(HTTP, locator.getTransport());
-      assertEquals("localhost", locator.getHost());
-      assertEquals(9090, locator.getPort());
-   }
-
-   public void testINVMTransport() throws Exception
-   {
-      ServerLocator locator = new ServerLocator("invm://localhost:9090");
-
-      assertEquals(INVM, locator.getTransport());
-      assertEquals("localhost", locator.getHost());
-      assertEquals(9090, locator.getPort());
-   }
-
-   public void testValidQuery() throws Exception
-   {
-      ServerLocator locator = new ServerLocator(
-            "invm://localhost:9090?foo=FOO&bar=BAR");
-
-      Map<String, String> parameters = locator.getParameters();
-      assertEquals(2, parameters.size());
-      assertTrue(parameters.containsKey("foo"));
-      assertEquals("FOO", parameters.get("foo"));
-      assertTrue(parameters.containsKey("bar"));
-      assertEquals("BAR", parameters.get("bar"));
-      assertEquals("invm://localhost:9090?foo=FOO&bar=BAR", locator.getURI());
-   }
-
-   public void testEmptyQuery() throws Exception
-   {
-      ServerLocator locator = new ServerLocator("invm://localhost:9090?");
-
-      Map<String, String> parameters = locator.getParameters();
-      assertEquals(0, parameters.size());
-      assertEquals("invm://localhost:9090", locator.getURI());
-   }
-
-   public void testInvalidQuery() throws Exception
-   {
-      try
-      {
-         ServerLocator locator = new ServerLocator(
-               "invm://localhost?this is not a valid query");
-         fail("URISyntaxException");
-      } catch (URISyntaxException e)
-      {
-
-      }
-
-   }
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Deleted: trunk/tests/src/org/jboss/test/messaging/jms/crash/UnresponsiveServerTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/crash/UnresponsiveServerTest.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/test/messaging/jms/crash/UnresponsiveServerTest.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -1,138 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.messaging.jms.crash;
-
-import static java.lang.Boolean.TRUE;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.DISABLE_INVM_KEY;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_INTERVAL_KEY;
-import static org.jboss.messaging.core.remoting.impl.mina.MinaService.KEEP_ALIVE_TIMEOUT_KEY;
-import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.KEEP_ALIVE_INTERVAL;
-import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.KEEP_ALIVE_TIMEOUT;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.QueueConnection;
-
-import org.jboss.messaging.core.remoting.KeepAliveFactory;
-import org.jboss.messaging.core.remoting.impl.mina.MinaService;
-import org.jboss.messaging.core.remoting.impl.mina.ServerKeepAliveFactory;
-import org.jboss.test.messaging.jms.JMSTestCase;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * 
- * @version <tt>$Revision$</tt>
- * 
- */
-public class UnresponsiveServerTest extends JMSTestCase
-{
-   // Constants -----------------------------------------------------
-
-   private MinaService minaService;
-   private Map<String, String> originalParameters;
-
-
-   // Static --------------------------------------------------------
-
-   // Attributes ----------------------------------------------------
-
-   // Constructors --------------------------------------------------
-
-   public UnresponsiveServerTest(String name)
-   {
-      super(name);
-   }
-   
-   @Override
-   protected void setUp() throws Exception
-   {
-      super.setUp();
-         
-      minaService = servers.get(0).getMessagingServer().getMinaService();
-      originalParameters = new HashMap<String, String>(minaService.getLocator().getParameters());
-   }
-
-   @Override
-   protected void tearDown() throws Exception
-   {
-      minaService.stop();
-      minaService.setParameters(originalParameters);
-      minaService.setKeepAliveFactory(new ServerKeepAliveFactory());
-      minaService.start();
-
-      super.tearDown();
-   }
-
-   // Public --------------------------------------------------------
-
-   public void testExceptionListenerWhenServerIsUnresponsive()
-         throws Exception
-   {
-      KeepAliveFactory factory = createMock(KeepAliveFactory.class);
-      // server does not send ping
-      expect(factory.ping()).andStubReturn(null);
-      // no pong -> server is not responding
-      expect(factory.pong()).andReturn(null).atLeastOnce();
-
-      ExceptionListener listener = createMock(ExceptionListener.class);
-      listener.onException(isA(JMSException.class));
-      expectLastCall().once();
-
-      replay(listener, factory);
-      
-      minaService.stop();
-      Map<String, String> parameters = new HashMap<String, String>();
-      parameters.put(KEEP_ALIVE_INTERVAL_KEY, Integer.toString(KEEP_ALIVE_INTERVAL));
-      parameters.put(KEEP_ALIVE_TIMEOUT_KEY, Integer.toString(KEEP_ALIVE_TIMEOUT));
-      parameters.put(DISABLE_INVM_KEY, TRUE.toString());
-      minaService.setParameters(parameters);
-      minaService.setKeepAliveFactory(factory);
-      minaService.start();
-      
-      QueueConnection conn = getConnectionFactory().createQueueConnection();
-      conn.setExceptionListener(listener);
-
-      // FIXME should deduce them from MinaConnector somehow...
-      Thread.sleep((5 + 10 + 1) * 1000);
-      
-      verify(listener, factory);
-      
-      conn.close();
-   }
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Modified: trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java	2008-01-30 11:46:03 UTC (rev 3644)
+++ trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java	2008-01-30 15:21:24 UTC (rev 3645)
@@ -21,13 +21,7 @@
 */
 package org.jboss.test.messaging.tools.container;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
 import java.io.File;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.io.StringReader;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
@@ -48,7 +42,6 @@
 import javax.transaction.TransactionManager;
 import javax.transaction.UserTransaction;
 
-import org.apache.tools.ant.util.ReaderInputStream;
 import org.jboss.jms.client.JBossConnectionFactory;
 import org.jboss.jms.client.api.ClientConnectionFactory;
 import org.jboss.jms.client.impl.ClientConnectionFactoryImpl;
@@ -63,7 +56,7 @@
 import org.jboss.messaging.core.MessagingServer;
 import org.jboss.messaging.core.MessagingServerManagement;
 import org.jboss.messaging.core.impl.ConditionImpl;
-import org.jboss.messaging.core.remoting.ServerLocator;
+import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.microcontainer.JBMBootstrapServer;
 import org.jboss.messaging.util.JNDIUtil;
 import org.jboss.messaging.util.Version;
@@ -697,9 +690,9 @@
      // connectionFactory.setSupportsFailover(supportsFailover);
       //connectionFactory.setSupportsLoadBalancing(supportsLoadBalancing);
       //connectionFactory.setStrictTck(strictTck);
-      ServerLocator serverLocator = getMessagingServer().getMinaService().getLocator();
+      RemotingConfiguration remotingConfiguration = getMessagingServer().getRemotingService().getRemotingConfiguration();
 
-      log.info("Server locator is " + serverLocator);
+      log.info("Remoting configuration is " + remotingConfiguration);
       log.info(this + " started");
       // See http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4076040#4076040
       final String id = objectName;
@@ -719,7 +712,7 @@
 
       ClientConnectionFactory delegate =
               new ClientConnectionFactoryImpl( getMessagingServer().getConfiguration().getMessagingServerID(),
-                      serverLocator.getURI(), version, useStrict, prefetchSize, dupsOkBatchSize, clientId);
+                      remotingConfiguration, version, useStrict, prefetchSize, dupsOkBatchSize, clientId);
 
       log.debug(this + " created local delegate " + delegate);
 
@@ -737,7 +730,7 @@
 
    public void undeployConnectionFactory(String objectName) throws Exception
    {
-      getMessagingServer().getMinaService().getDispatcher().unregister(objectName);
+      getMessagingServer().getRemotingService().getDispatcher().unregister(objectName);
       List<String> bindings = allBindings.get(objectName);
       for (String binding : bindings)
       {




More information about the jboss-cvs-commits mailing list