[jboss-cvs] JBoss Messaging SVN: r4005 - in trunk: docs/examples/embedded/src/org/jboss/example/embedded and 20 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Apr 4 04:56:32 EDT 2008


Author: jmesnil
Date: 2008-04-04 04:56:32 -0400 (Fri, 04 Apr 2008)
New Revision: 4005

Added:
   trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
   trunk/tests/src/org/jboss/messaging/core/integration/test/CoreClientTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/ConfigurationHelper.java
Removed:
   trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationImpl.java
   trunk/src/main/org/jboss/messaging/core/server/Configuration.java
Modified:
   trunk/.classpath
   trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java
   trunk/src/etc/server/default/deploy/jbm-configuration.xml
   trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
   trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java
   trunk/src/main/org/jboss/messaging/core/config/Configuration.java
   trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
   trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
   trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
   trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.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/src/main/org/jboss/messaging/core/server/MessagingServer.java
   trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
   trunk/tests/src/org/jboss/messaging/core/integration/test/ProducerFlowControlTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMSessionTest.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/MinaServiceTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaSessionTest.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/ssl/integration/CoreClientOverSSL.java
   trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSLTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java
   trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java
   trunk/tests/src/org/jboss/test/messaging/JBMServerTestCase.java
   trunk/tests/src/org/jboss/test/messaging/jms/network/ClientNetworkFailureTest.java
   trunk/tests/src/org/jboss/test/messaging/tools/ConfigurationHelper.java
Log:
* merged RemotingConfiguration into ConfigurationImpl
* extracted interface Configuration

Modified: trunk/.classpath
===================================================================
--- trunk/.classpath	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/.classpath	2008-04-04 08:56:32 UTC (rev 4005)
@@ -76,5 +76,6 @@
 	<classpathentry kind="lib" path="thirdparty/slf4j/log4j/lib/slf4j-log4j12.jar"/>
 	<classpathentry kind="lib" path="src/etc/server/default/config"/>
 	<classpathentry kind="lib" path="src/etc/server/default/deploy"/>
+	<classpathentry kind="lib" path="tests/lib/jdbc-drivers/mysql-connector-java-5.1.5-bin.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

Modified: trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java
===================================================================
--- trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/docs/examples/embedded/src/org/jboss/example/embedded/EmbeddedExample.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -29,9 +29,10 @@
 import org.jboss.messaging.core.client.ClientProducer;
 import org.jboss.messaging.core.client.ClientSession;
 import org.jboss.messaging.core.client.impl.ClientConnectionFactoryImpl;
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.message.Message;
 import org.jboss.messaging.core.message.impl.MessageImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.server.MessagingServer;
 import org.jboss.messaging.core.server.impl.MessagingServerImpl;
 import org.jboss.messaging.jms.client.JBossTextMessage;
@@ -43,12 +44,15 @@
 {
    public static void main(String args[]) throws Exception
    {
-      RemotingConfigurationImpl remotingConf = new RemotingConfigurationImpl(TCP, "localhost", 5400);
-      MessagingServer messagingServer = new MessagingServerImpl(remotingConf);
+      Configuration conf = new ConfigurationImpl();
+      conf.setTransport(TCP);
+      conf.setHost("localhost");
+      conf.setPort(5400);
+      MessagingServer messagingServer = new MessagingServerImpl(conf);
       messagingServer.start();
-      ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, remotingConf, messagingServer.getVersion());
+      ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, conf, messagingServer.getVersion());
       ClientConnection clientConnection = cf.createConnection(null, null);
-      ClientSession clientSession = clientConnection.createClientSession(false, true, true, 0, false, false);
+      ClientSession clientSession = clientConnection.createClientSession(false, true, true, -1, false, false);
       clientSession.createQueue("Queue1", "Queue1", null, false, false);
       ClientProducer clientProducer = clientSession.createProducer("Queue1");
 

Modified: trunk/src/etc/server/default/deploy/jbm-configuration.xml
===================================================================
--- trunk/src/etc/server/default/deploy/jbm-configuration.xml	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/etc/server/default/deploy/jbm-configuration.xml	2008-04-04 08:56:32 UTC (rev 4005)
@@ -23,12 +23,16 @@
       
       <require-destinations>true</require-destinations>
            
+      <!-- Remoting configuration -->
+      
       <!-- one of: TCP, INVM                                                                     -->
       <!-- INVM: the server is accessible only by clients in the same VM (no sockets are opened) --> 
       <remoting-transport>TCP</remoting-transport>
       
       <remoting-bind-address>5400</remoting-bind-address>
       
+      <remoting-host>localhost</remoting-host>
+
       <!--  timeout in seconds -->
       <remoting-timeout>5</remoting-timeout>
       

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -25,10 +25,10 @@
 
 import org.jboss.messaging.core.client.ClientConnection;
 import org.jboss.messaging.core.client.ClientConnectionFactory;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
 import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionRequest;
 import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionResponse;
@@ -61,7 +61,7 @@
 
    // Attributes -----------------------------------------------------------------------------------
    
-   private final RemotingConfiguration remotingConfig;
+   private final Configuration config;
    
    private final PacketDispatcher dispatcher;
 
@@ -84,13 +84,13 @@
     
    // Constructors ---------------------------------------------------------------------------------
 
-   public ClientConnectionFactoryImpl(final int serverID, final RemotingConfiguration remotingConfig,
+   public ClientConnectionFactoryImpl(final int serverID, final Configuration config,
    		                             final Version serverVersion, final boolean strictTck,
                                       final int defaultConsumerWindowSize, final int defaultConsumerMaxRate,
                                       final int defaultProducerWindowSize, final int defaultProducerMaxRate)
    {
       this.serverID = serverID;
-      this.remotingConfig = remotingConfig;
+      this.config = config;
       this.serverVersion = serverVersion;
       this.strictTck = strictTck;
       this.defaultConsumerWindowSize = defaultConsumerWindowSize;  
@@ -100,11 +100,11 @@
       this.dispatcher = new PacketDispatcherImpl();
    }
    
-   public ClientConnectionFactoryImpl(final int serverID, final RemotingConfiguration remotingConfig,
+   public ClientConnectionFactoryImpl(final int serverID, final Configuration config,
                                       final Version serverVersion)
    {
       this.serverID = serverID;
-      this.remotingConfig = remotingConfig;
+      this.config = config;
       this.serverVersion = serverVersion;
       this.strictTck = false;
       this.defaultConsumerWindowSize = 1000;      
@@ -126,7 +126,7 @@
       RemotingConnection remotingConnection = null;
       try
       {
-         remotingConnection = new RemotingConnectionImpl(remotingConfig, dispatcher);
+         remotingConnection = new RemotingConnectionImpl(config, dispatcher);
        
          remotingConnection.start();
          
@@ -175,9 +175,9 @@
    
    // ClientConnectionFactory implementation ---------------------------------------------
    
-   public RemotingConfiguration getRemotingConfiguration()
+   public Configuration getConfiguration()
    {
-      return remotingConfig;
+      return config;
    }
    
    public Version getServerVersion()

Modified: trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -25,12 +25,12 @@
 import static org.jboss.messaging.core.remoting.ConnectorRegistrySingleton.REGISTRY;
 
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
 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.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
 import org.jboss.messaging.core.remoting.impl.wireformat.MessagingExceptionMessage;
 
@@ -52,7 +52,7 @@
 
    // Attributes -----------------------------------------------------------------------------------
 
-   private final RemotingConfiguration remotingConfig;
+   private final Configuration config;
 
    private NIOConnector connector;
    
@@ -64,15 +64,15 @@
 
    // Constructors ---------------------------------------------------------------------------------
 
-   public RemotingConnectionImpl(final RemotingConfiguration remotingConfig, final PacketDispatcher dispatcher) throws Exception
+   public RemotingConnectionImpl(final Configuration config, final PacketDispatcher dispatcher) throws Exception
    {
-      assert remotingConfig != null;
+      assert config != null;
       assert dispatcher != null;
       
-      this.remotingConfig = remotingConfig;
+      this.config = config;
       this.dispatcher = dispatcher;
       
-      log.trace(this + " created with configuration " + remotingConfig);
+      log.trace(this + " created with configuration " + config);
    }
 
    // Public ---------------------------------------------------------------------------------------
@@ -83,11 +83,11 @@
    {
       if (log.isTraceEnabled()) { log.trace(this + " started remoting connection"); }
 
-      connector = REGISTRY.getConnector(remotingConfig, dispatcher);
+      connector = REGISTRY.getConnector(config, dispatcher);
       session = connector.connect();
 
       if (log.isDebugEnabled())
-         log.debug("Using " + connector + " to connect to " + remotingConfig);
+         log.debug("Using " + connector + " to connect to " + config);
 
       log.trace(this + " started");
    }
@@ -102,7 +102,7 @@
          { 
             if (listener != null)
                connector.removeFailureListener(listener);
-            NIOConnector connectorFromRegistry = REGISTRY.removeConnector(remotingConfig);
+            NIOConnector connectorFromRegistry = REGISTRY.removeConnector(config);
             if (connectorFromRegistry != null)
                connectorFromRegistry.disconnect();
          }
@@ -212,7 +212,7 @@
       } else 
       {
          AbstractPacket response = (AbstractPacket) session.writeAndBlock(packet, 
-               remotingConfig.getTimeout(), SECONDS);
+               config.getTimeout(), SECONDS);
          return response;
       }
    }

Modified: trunk/src/main/org/jboss/messaging/core/config/Configuration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/Configuration.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/config/Configuration.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -23,6 +23,9 @@
 
 import java.util.List;
 
+import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.server.JournalType;
+
 /**
  * 
  * A Configuration
@@ -32,25 +35,127 @@
  */
 public interface Configuration
 {
-	//TODO - finish this class
-	
-   int getMessagingServerID();
-      
-   String getSecurityDomain();
-   
-   List<String> getDefaultInterceptors();
 
-   long getMessageCounterSamplePeriod();   
+   public int getMessagingServerID();
 
-   int getDefaultMessageCounterHistoryDayLimit();
-  
-   boolean isStrictTck();
-   
-   boolean isClustered();
-   
-   int getScheduledThreadPoolMaxSize();
-        
-   long getSecurityInvalidationInterval();
+   public String getSecurityDomain();
 
-   int getRemotingBindAddress();   
+   public List<String> getDefaultInterceptors();
+
+   public long getMessageCounterSamplePeriod();
+
+//   public void setMessageCounterSamplePeriod(long messageCounterSamplePeriod);
+
+   public Integer getDefaultMessageCounterHistoryDayLimit();
+
+//   public void setDefaultMessageCounterHistoryDayLimit(Integer defaultMessageCounterHistoryDayLimit);
+
+   public Boolean isStrictTck();
+
+ //  public void setStrictTck(Boolean strictTck);
+
+   public Boolean isClustered();
+
+   public Integer getScheduledThreadPoolMaxSize();
+
+//   public void setScheduledThreadPoolMaxSize(int size);
+
+//   public void setClustered(Boolean clustered);
+
+   public long getSecurityInvalidationInterval();
+
+   public TransportType getTransport();
+
+   public void setTransport(TransportType transport);
+
+   public String getHost();
+
+   public void setHost(String host);
+
+   public int getPort();
+
+   public void setPort(int port);
+
+   public String getLocation();
+
+   public int getKeepAliveInterval();
+
+   public void setKeepAliveInterval(int keepAliveInterval);
+
+   public int getKeepAliveTimeout();
+
+   public void setKeepAliveTimeout(int keepAliveTimeout);
+
+   public int getTimeout();
+
+   public String getKeyStorePath();
+
+   public void setKeyStorePath(String keyStorePath);
+
+   public String getKeyStorePassword();
+
+   public void setKeyStorePassword(String keyStorePassword);
+
+   public String getTrustStorePath();
+
+   public void setTrustStorePath(String trustStorePath);
+
+   public String getTrustStorePassword();
+
+   public void setTrustStorePassword(String trustStorePassword);
+
+   public boolean isInvmDisabled();
+
+   public void setInvmDisabled(boolean invmDisabled);
+
+   public boolean isSSLEnabled();
+
+   public void setSSLEnabled(boolean sslEnabled);
+
+   public String getURI();
+
+   public String getBindingsDirectory();
+
+//   public void setBindingsDirectory(String bindingsDirectory);
+
+   public String getJournalDirectory();
+
+//   public void setJournalDirectory(String journalDirectory);
+
+   public JournalType getJournalType();
+
+//   public void setJournalType(JournalType journalType);
+
+   public boolean isJournalSync();
+
+  // public void setJournalSync(boolean journalSync);
+
+   public int getJournalFileSize();
+
+ //  public void setJournalFileSize(int journalFileSize);
+
+   public int getJournalMinFiles();
+
+//   public void setJournalMinFiles(int journalMinFiles);
+
+   public int getJournalMinAvailableFiles();
+
+//   public void setJournalMinAvailableFiles(int journalMinAvailableFiles);
+
+   public long getJournalTaskPeriod();
+
+//   public void setJournalTaskPeriod(long journalTaskPeriod);
+
+   public boolean isCreateBindingsDir();
+
+  // public void setCreateBindingsDir(boolean createBindingsDir);
+
+   public boolean isCreateJournalDir();
+
+//   public void setCreateJournalDir(boolean createJournalDir);
+
+   public boolean isRequireDestinations();
+
+//   public void setRequireDestinations(boolean requireDestinations);
+
 }

Added: trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java	                        (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -0,0 +1,478 @@
+/*
+ * 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.messaging.core.config.impl;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.server.JournalType;
+
+/**
+ * @author <a href="mailto:ataylor at redhat.com>Andy Taylor</a>
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ */
+public class ConfigurationImpl implements Configuration, Serializable
+{
+   private static final long serialVersionUID = 4077088945050267843L;
+
+   public static final String REMOTING_DISABLE_INVM_SYSPROP_KEY = "jbm.remoting.disable.invm";
+
+   public static final String REMOTING_ENABLE_SSL_SYSPROP_KEY = "jbm.remoting.enable.ssl";
+
+   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;
+   public static final boolean DEFAULT_SSL_ENABLED = false;
+
+   private PropertyChangeSupport propertyChangeSupport;
+   
+   protected int messagingServerID = 0;
+   
+   protected String securityDomain;
+   
+   protected List<String> defaultInterceptors = new ArrayList<String>();
+
+   protected long messageCounterSamplePeriod = (long) 10000;// Default is 1 minute
+
+   protected int defaultMessageCounterHistoryDayLimit = 1;
+
+   protected boolean strictTck = false;
+
+   protected boolean clustered = false;
+   
+   protected int scheduledThreadPoolMaxSize = 30;
+   
+   protected long securityInvalidationInterval = 10000;
+
+   protected boolean requireDestinations;
+   
+   //Persistence config
+   
+   protected String bindingsDirectory;
+   
+   protected boolean createBindingsDir;
+   
+   protected String journalDirectory;
+   
+   protected boolean createJournalDir;
+   
+   public JournalType journalType;
+   
+   protected boolean journalSync;
+   
+   protected int journalFileSize;
+   
+   protected int journalMinFiles;
+   
+   protected int journalMinAvailableFiles;
+   
+   protected long journalTaskPeriod;
+
+   // remoting config
+   
+   protected TransportType transport;
+   protected String host;
+   protected int port;
+
+   protected int timeout = DEFAULT_REQRES_TIMEOUT;
+   protected int keepAliveInterval = DEFAULT_KEEP_ALIVE_INTERVAL;
+   protected int keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT;
+   protected boolean invmDisabled = DEFAULT_INVM_DISABLED;
+   protected boolean invmDisabledModified = false;
+   protected boolean sslEnabled = DEFAULT_SSL_ENABLED;
+   protected boolean sslEnabledModified = false;
+   protected String keyStorePath;
+   protected String keyStorePassword;
+   protected String trustStorePath;
+   protected String trustStorePassword;
+   
+   public void addPropertyChangeListener(PropertyChangeListener listener)
+   {
+      if (propertyChangeSupport == null)
+      {
+         propertyChangeSupport = new PropertyChangeSupport(this);
+      }
+      propertyChangeSupport.addPropertyChangeListener(listener);
+   }
+
+   public int getMessagingServerID()
+   {
+      return messagingServerID;
+   }
+   
+   public void setMessagingServerID(int id)
+   {
+   	this.messagingServerID = id;
+   }
+  
+   public void setSecurityDomain(String securityDomain) throws Exception
+   {
+      this.securityDomain = securityDomain;
+   }
+
+   public String getSecurityDomain()
+   {
+      return securityDomain;
+   }
+   
+   public List<String> getDefaultInterceptors()
+   {
+      return defaultInterceptors;
+   }
+
+   public long getMessageCounterSamplePeriod()
+   {
+      return messageCounterSamplePeriod;
+   }
+
+   public void setMessageCounterSamplePeriod(long messageCounterSamplePeriod)
+   {
+      if (messageCounterSamplePeriod < 1000)
+      {
+         throw new IllegalArgumentException("Cannot set MessageCounterSamplePeriod < 1000 ms");
+      }
+      
+      propertyChangeSupport.firePropertyChange("messageCounterSamplePeriod", this.messageCounterSamplePeriod, messageCounterSamplePeriod);
+      
+      this.messageCounterSamplePeriod = messageCounterSamplePeriod;
+   }
+
+   public Integer getDefaultMessageCounterHistoryDayLimit()
+   {
+      return defaultMessageCounterHistoryDayLimit;
+   }
+
+   public void setDefaultMessageCounterHistoryDayLimit(Integer defaultMessageCounterHistoryDayLimit)
+   {
+      if (defaultMessageCounterHistoryDayLimit < -1)
+      {
+         defaultMessageCounterHistoryDayLimit = -1;
+      }
+      
+      this.defaultMessageCounterHistoryDayLimit = defaultMessageCounterHistoryDayLimit;
+   }
+
+   public Boolean isStrictTck()
+   {
+      return strictTck || "true".equalsIgnoreCase(System.getProperty("jboss.messaging.stricttck"));
+   }
+
+   public void setStrictTck(Boolean strictTck)
+   {
+      strictTck = strictTck || "true".equalsIgnoreCase(System.getProperty("jboss.messaging.stricttck"));
+   }
+  
+   public Boolean isClustered()
+   {
+      return clustered;
+   }
+   
+   public Integer getScheduledThreadPoolMaxSize()
+   {
+   	return scheduledThreadPoolMaxSize;
+   }
+   
+   public void setScheduledThreadPoolMaxSize(int size)
+   {
+   	this.scheduledThreadPoolMaxSize = size;
+   }
+
+   public void setClustered(Boolean clustered)
+   {
+      this.clustered = clustered;
+   }
+   
+   public long getSecurityInvalidationInterval()
+   {
+   	return this.securityInvalidationInterval;
+   }
+   
+   public TransportType getTransport()
+   {
+      return transport;
+   }
+
+
+   public void setTransport(TransportType transport)
+   {
+      this.transport = transport;
+   }
+
+   public String getHost()
+   {
+      return host;
+   }
+   
+   public void setHost(String host)
+   {
+      assert host != null;
+      
+      this.host = host;
+   }
+
+   public int getPort()
+   {
+      return port;
+   }
+   
+   public void setPort(int port)
+   {
+      this.port = port;
+   }
+
+   public String getLocation()
+   {
+      return transport + "://" + host + "/" + port;
+   }
+   
+   public int getKeepAliveInterval()
+   {
+      return keepAliveInterval;
+   }
+   
+   public void setKeepAliveInterval(int keepAliveInterval)
+   {
+      this.keepAliveInterval = keepAliveInterval;
+   }
+
+   public int getKeepAliveTimeout()
+   {
+      return keepAliveTimeout;
+   }
+
+   public void setKeepAliveTimeout(int keepAliveTimeout)
+   {
+      this.keepAliveTimeout = keepAliveTimeout;
+   }
+   
+   public int getTimeout()
+   {
+      return timeout;
+   }
+
+   public String getKeyStorePath()
+   {
+      return keyStorePath;
+   }
+
+   public void setKeyStorePath(String keyStorePath)
+   {
+      this.keyStorePath = keyStorePath;
+   }
+   
+   public String getKeyStorePassword()
+   {
+      return keyStorePassword;
+   }
+   
+   public void setKeyStorePassword(String keyStorePassword)
+   {
+      this.keyStorePassword = keyStorePassword;
+   }
+
+   public String getTrustStorePath()
+   {
+      return trustStorePath;
+   }
+
+   public void setTrustStorePath(String trustStorePath)
+   {
+      this.trustStorePath = trustStorePath;
+   }
+   
+   public String getTrustStorePassword()
+   {
+      return trustStorePassword;
+   }
+   
+   public void setTrustStorePassword(String trustStorePassword)
+   {
+      this.trustStorePassword = trustStorePassword;
+   }
+   
+   public boolean isInvmDisabled()
+   {
+       if (System.getProperty(REMOTING_DISABLE_INVM_SYSPROP_KEY) != null && !invmDisabledModified)
+      {
+         return Boolean.parseBoolean(System.getProperty(REMOTING_DISABLE_INVM_SYSPROP_KEY));
+      }
+      else 
+      {
+         return invmDisabled;
+      }
+   }
+   
+   public void setInvmDisabled(boolean invmDisabled)
+   {
+      this.invmDisabled = invmDisabled;
+      this.invmDisabledModified = true;
+   }
+   
+   public boolean isSSLEnabled()
+   {
+      if (System.getProperty(REMOTING_ENABLE_SSL_SYSPROP_KEY) != null && !sslEnabledModified)
+      {
+         return Boolean.parseBoolean(System.getProperty(REMOTING_ENABLE_SSL_SYSPROP_KEY));
+      }
+      else 
+      {
+         return sslEnabled;
+      }
+   }
+   
+   public void setSSLEnabled(boolean sslEnabled)
+   {
+      this.sslEnabled = sslEnabled;
+      this.sslEnabledModified = true;
+   }
+
+   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);
+      buff.append("&").append("sslEnabled=").append(sslEnabled);
+      buff.append("&").append("keyStorePath=").append(keyStorePath);
+      buff.append("&").append("trustStorePath=").append(trustStorePath);
+      return buff.toString();
+   }
+   
+	public String getBindingsDirectory()
+	{
+		return bindingsDirectory;
+	}
+
+	public void setBindingsDirectory(String bindingsDirectory)
+	{
+		this.bindingsDirectory = bindingsDirectory;
+	}
+
+	public String getJournalDirectory()
+	{
+		return journalDirectory;
+	}
+
+	public void setJournalDirectory(String journalDirectory)
+	{
+		this.journalDirectory = journalDirectory;
+	}
+
+	public JournalType getJournalType()
+	{
+		return journalType;
+	}
+
+	public void setJournalType(JournalType journalType)
+	{
+		this.journalType = journalType;
+	}
+
+	public boolean isJournalSync()
+	{
+		return journalSync;
+	}
+
+	public void setJournalSync(boolean journalSync)
+	{
+		this.journalSync = journalSync;
+	}
+
+	public int getJournalFileSize()
+	{
+		return journalFileSize;
+	}
+
+	public void setJournalFileSize(int journalFileSize)
+	{
+		this.journalFileSize = journalFileSize;
+	}
+
+	public int getJournalMinFiles()
+	{
+		return journalMinFiles;
+	}
+
+	public void setJournalMinFiles(int journalMinFiles)
+	{
+		this.journalMinFiles = journalMinFiles;
+	}
+
+	public int getJournalMinAvailableFiles()
+	{
+		return journalMinAvailableFiles;
+	}
+
+	public void setJournalMinAvailableFiles(int journalMinAvailableFiles)
+	{
+		this.journalMinAvailableFiles = journalMinAvailableFiles;
+	}
+
+	public long getJournalTaskPeriod()
+	{
+		return journalTaskPeriod;
+	}
+
+	public void setJournalTaskPeriod(long journalTaskPeriod)
+	{
+		this.journalTaskPeriod = journalTaskPeriod;
+	}
+
+	public boolean isCreateBindingsDir()
+	{
+		return createBindingsDir;
+	}
+
+	public void setCreateBindingsDir(boolean createBindingsDir)
+	{
+		this.createBindingsDir = createBindingsDir;
+	}
+
+	public boolean isCreateJournalDir()
+	{
+		return createJournalDir;
+	}
+
+	public void setCreateJournalDir(boolean createJournalDir)
+	{
+		this.createJournalDir = createJournalDir;
+	}
+
+	public boolean isRequireDestinations()
+	{
+		return requireDestinations;
+	}
+
+	public void setRequireDestinations(boolean requireDestinations)
+	{
+		this.requireDestinations = requireDestinations;
+	}
+}
+ 

Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -23,15 +23,13 @@
 
 import static org.jboss.messaging.core.remoting.TransportType.TCP;
 
-import java.io.Serializable;
-import java.io.Reader;
 import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.Serializable;
 import java.net.URL;
 import java.util.ArrayList;
 
 import org.jboss.messaging.core.remoting.TransportType;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
-import org.jboss.messaging.core.server.Configuration;
 import org.jboss.messaging.core.server.JournalType;
 import org.jboss.messaging.util.XMLUtil;
 import org.w3c.dom.Element;
@@ -42,7 +40,7 @@
  *
  * @author <a href="ataylor at redhat.com">Andy Taylor</a>
  */
-public class FileConfiguration extends Configuration implements Serializable
+public class FileConfiguration extends ConfigurationImpl implements Serializable
 {
 	private static final long serialVersionUID = -4766689627675039596L;
 	
@@ -71,28 +69,26 @@
       
       scheduledThreadPoolMaxSize = getInteger(e, "scheduled-executor-max-pool-size", scheduledThreadPoolMaxSize);
       
-      TransportType remotingTransport = TransportType.valueOf(getString(e, "remoting-transport", TCP.name()));
+      transport = TransportType.valueOf(getString(e, "remoting-transport", TCP.name()));
       
-      int remotingPort = getInteger(e, "remoting-bind-address", 5400);
+      host = getString(e, "remoting-host", "localhost");
+
+      port = getInteger(e, "remoting-bind-address", 5400);
       
-      RemotingConfigurationImpl remotingConf = new RemotingConfigurationImpl(remotingTransport, "localhost", remotingPort);
+      timeout = getInteger(e, "remoting-timeout", 5);
       
-      remotingConf.setTimeout(getInteger(e, "remoting-timeout", 5));
+      invmDisabled = getBoolean(e, "remoting-disable-invm", false);
       
-      remotingConf.setInvmDisabled(getBoolean(e, "remoting-disable-invm", false));
+      sslEnabled = getBoolean(e, "remoting-enable-ssl", false);
       
-      remotingConf.setSSLEnabled(getBoolean(e, "remoting-enable-ssl", false));
+      keyStorePath = getString(e, "remoting-ssl-keystore-path", null);
       
-      remotingConf.setKeyStorePath(getString(e, "remoting-ssl-keystore-path", null));
+      keyStorePassword = getString(e, "remoting-ssl-keystore-password", null);
       
-      remotingConf.setKeyStorePassword(getString(e, "remoting-ssl-keystore-password", null));
+      trustStorePath = getString(e, "remoting-ssl-truststore-path", null);
       
-      remotingConf.setTrustStorePath(getString(e, "remoting-ssl-truststore-path", null));
-      
-      remotingConf.setTrustStorePassword(getString(e, "remoting-ssl-truststore-password", null));
+      trustStorePassword = getString(e, "remoting-ssl-truststore-password", null);
 
-      this.remotingConfig = remotingConf;
-      
       requireDestinations = getBoolean(e, "require-destinations", requireDestinations);
       
       //Persistence config

Modified: trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -13,6 +13,7 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.atomic.AtomicLong;
 
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.filter.Filter;
 import org.jboss.messaging.core.filter.impl.FilterImpl;
 import org.jboss.messaging.core.journal.Journal;
@@ -29,7 +30,6 @@
 import org.jboss.messaging.core.postoffice.Binding;
 import org.jboss.messaging.core.postoffice.PostOffice;
 import org.jboss.messaging.core.postoffice.impl.BindingImpl;
-import org.jboss.messaging.core.server.Configuration;
 import org.jboss.messaging.core.server.JournalType;
 import org.jboss.messaging.core.server.Queue;
 import org.jboss.messaging.core.server.QueueFactory;

Modified: trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -6,22 +6,22 @@
  */
 package org.jboss.messaging.core.remoting;
 
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 
 
 /**
- * The ConnectorRegistry keeps track of RemotingConfigurations and NIOConnectors.
+ * The ConnectorRegistry keeps track of Configurations and NIOConnectors.
  * 
- * When a {@link MinaService} is started, it register its {@link RemotingConfiguration}.
+ * When a {@link MinaService} is started, it register its {@link Configuration}.
  * 
  * When a {@link ClientImpl} is created, it gets its {@link NIOConnector} from the
- * ConnectorRegistry using the {@link RemotingConfiguration} corresponding to the server
- * it wants to connect to. If the ConnectionRegistry contains this RemotingConfigurations, it
+ * ConnectorRegistry using the {@link Configuration} corresponding to the server
+ * it wants to connect to. If the ConnectionRegistry contains this Configuration, 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 RemotingConfiguration
+ * type defined by the Configuration
  * 
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
  * 
@@ -32,36 +32,36 @@
 {
 
    /**
-    * @return <code>true</code> if this RemotingConfiguration has not already been
+    * @return <code>true</code> if this Configuration has not already been
     *         registered, <code>false</code> else
     */
-   boolean register(RemotingConfiguration remotingConfig, PacketDispatcher serverDispatcher);
+   boolean register(Configuration config, PacketDispatcher serverDispatcher);
 
    /**
-    * @return <code>true</code> if this RemotingConfiguration was registered,
+    * @return <code>true</code> if this Configuration was registered,
     *         <code>false</code> else
     */
-   boolean unregister(RemotingConfiguration remotingConfig);
+   boolean unregister(Configuration config);
 
-   NIOConnector getConnector(RemotingConfiguration remotingConfig, PacketDispatcher dispatcher);
+   NIOConnector getConnector(Configuration config, PacketDispatcher dispatcher);
 
    /**
     * Decrement the number of references on the NIOConnector corresponding to
-    * the RemotingConfiguration.
+    * the Configuration.
     * 
     * If there is only one reference, remove it from the connectors Map and
     * returns it. Otherwise return null.
     * 
     * @param remotingConfig
-    *           a RemotingConfiguration
+    *           a Configuration
     * @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 RemotingConfiguration
+    *            if no NIOConnector were created for the given Configuration
     */
-   NIOConnector removeConnector(RemotingConfiguration remotingConfig);
+   NIOConnector removeConnector(Configuration config);
 
-   RemotingConfiguration[] getRegisteredRemotingConfigurations();
+   int getRegisteredConfigurationSize();
 
-   int getConnectorCount(RemotingConfiguration remotingConfig);
+   int getConnectorCount(Configuration config);
 }
\ No newline at end of file

Deleted: trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/RemotingConfiguration.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -1,42 +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;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * 
- * @version <tt>$Revision$</tt>
- * 
- */
-public interface RemotingConfiguration
-{
-   TransportType getTransport();
-
-   String getHost();
-
-   int getPort();
-
-   int getKeepAliveInterval();
-
-   int getKeepAliveTimeout();
-
-   int getTimeout();
-
-   String getKeyStorePath();
-
-   String getKeyStorePassword();
-
-   String getTrustStorePath();
-
-   String getTrustStorePassword();
-
-   boolean isInvmDisabled();
-
-   boolean isSSLEnabled();
-
-   String getURI();
-}
\ No newline at end of file

Modified: trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -7,6 +7,7 @@
 package org.jboss.messaging.core.remoting;
 
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.server.MessagingComponent;
 
 /**
@@ -19,7 +20,7 @@
 {
    PacketDispatcher getDispatcher();
 
-   RemotingConfiguration getRemotingConfiguration();
+   Configuration getConfiguration();
    
    void addInterceptor(Interceptor interceptor);
 

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -8,15 +8,15 @@
 
 import static org.jboss.messaging.core.remoting.TransportType.TCP;
 
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
 
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.logging.Logger;
 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.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;
@@ -35,39 +35,41 @@
 
    // Attributes ----------------------------------------------------
 
-   private Map<RemotingConfiguration, PacketDispatcher> localDispatchers = new HashMap<RemotingConfiguration, PacketDispatcher>();
+   // the String key corresponds to Configuration.getLocation()
+   private Map<String, PacketDispatcher> localDispatchers = new HashMap<String, PacketDispatcher>();
    
-   public Map<RemotingConfiguration, NIOConnectorHolder> connectors = new HashMap<RemotingConfiguration, NIOConnectorHolder>();
+   public Map<String, NIOConnectorHolder> connectors = new HashMap<String, NIOConnectorHolder>();
 
    // Static --------------------------------------------------------
 
    /**
-    * @return <code>true</code> if this RemotingConfiguration has not already been registered,
+    * @return <code>true</code> if this Configuration has not already been registered,
     *         <code>false</code> else
     */
-   public boolean register(RemotingConfiguration remotingConfig, PacketDispatcher serverDispatcher)
+   public boolean register(Configuration config, PacketDispatcher serverDispatcher)
    {
-      assert remotingConfig != null;
+      assert config != null;
       assert serverDispatcher != null;
-      
-      PacketDispatcher previousDispatcher = localDispatchers.get(remotingConfig);
+      String key = config.getLocation();
 
-      localDispatchers.put(remotingConfig, serverDispatcher);
+      PacketDispatcher previousDispatcher = localDispatchers.get(key);
+
+      localDispatchers.put(key, serverDispatcher);
       if(log.isDebugEnabled())
       {
-         log.debug("registered " + remotingConfig + " for " + serverDispatcher);
+         log.debug("registered " + key + " for " + serverDispatcher);
       }
       
       return (previousDispatcher == null);
    }
 
    /**
-    * @return <code>true</code> if this RemotingConfiguration was registered,
+    * @return <code>true</code> if this Configuration was registered,
     *         <code>false</code> else
     */  
-   public boolean unregister(RemotingConfiguration remotingConf)
+   public boolean unregister(Configuration config)
    {      
-       PacketDispatcher dispatcher = localDispatchers.remove(remotingConf);
+      PacketDispatcher dispatcher = localDispatchers.remove(config.getLocation());
 
        if(log.isDebugEnabled())
        {
@@ -77,45 +79,46 @@
        return (dispatcher != null);
    }
 
-   public synchronized NIOConnector getConnector(RemotingConfiguration remotingConfig, PacketDispatcher dispatcher)
+   public synchronized NIOConnector getConnector(Configuration config, PacketDispatcher dispatcher)
    {
-      assert remotingConfig != null;
-
-      if (connectors.containsKey(remotingConfig))
+      assert config != null;
+      String key = config.getLocation();
+      
+      if (connectors.containsKey(key))
       {
-         NIOConnectorHolder holder = connectors.get(remotingConfig);
+         NIOConnectorHolder holder = connectors.get(key);
          holder.increment();
          NIOConnector connector = holder.getConnector();
 
          if (log.isDebugEnabled())
             log.debug("Reuse " + connector + " to connect to "
-                  + remotingConfig + " [count=" + holder.getCount() + "]");
+                  + key + " [count=" + holder.getCount() + "]");
 
          return connector;
       }
 
       // check if the server is in the same vm than the client
-      if (localDispatchers.containsKey(remotingConfig))
+      if (localDispatchers.containsKey(key))
       {
-         PacketDispatcher localDispatcher = localDispatchers.get(remotingConfig);
+         PacketDispatcher localDispatcher = localDispatchers.get(key);
          NIOConnector connector = new INVMConnector(dispatcher, localDispatcher);
 
          if (log.isDebugEnabled())
             log.debug("Created " + connector + " to connect to "
-                  + remotingConfig);
+                  + key);
 
          NIOConnectorHolder holder = new NIOConnectorHolder(connector);
-         connectors.put(remotingConfig, holder);
+         connectors.put(key, holder);
          return connector;
       }
 
       NIOConnector connector = null;
 
-      TransportType transport = remotingConfig.getTransport();
+      TransportType transport = config.getTransport();
 
       if (transport == TCP)
       {
-         connector = new MinaConnector(remotingConfig, dispatcher);
+         connector = new MinaConnector(config, dispatcher);
       }
 
       if (connector == null)
@@ -126,64 +129,65 @@
 
       if (log.isDebugEnabled())
          log.debug("Created " + connector + " to connect to "
-               + remotingConfig);
+               + config);
       
       NIOConnectorHolder holder = new NIOConnectorHolder(connector);
-      connectors.put(remotingConfig, holder);
+      connectors.put(key, holder);
       return connector;
    }
 
    /**
     * Decrement the number of references on the NIOConnector corresponding to
-    * the RemotingConfiguration.
+    * the Configuration.
     * 
     * If there is only one reference, remove it from the connectors Map and
     * returns it. Otherwise return null.
     * 
-    * @param remotingConfiguration
-    *           a RemotingConfiguration
+    * @param config
+    *           a Configuration
     * @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 RemotingConfiguration
+    *            if no NIOConnector were created for the given Configuration
     */
-   public synchronized NIOConnector removeConnector(RemotingConfiguration remotingConfiguration)
+   public synchronized NIOConnector removeConnector(Configuration config)
    {
-      assert remotingConfiguration != null;
+      assert config != null;
+      String key = config.getLocation();
 
-      NIOConnectorHolder holder = connectors.get(remotingConfiguration);
+      NIOConnectorHolder holder = connectors.get(key);
       if (holder == null)
       {
          throw new IllegalStateException("No Connector were created for "
-               + remotingConfiguration);
+               + key);
       }
 
       if (holder.getCount() == 1)
       {
          if (log.isDebugEnabled())
-            log.debug("Removed connector for " + remotingConfiguration);
-         connectors.remove(remotingConfiguration);
+            log.debug("Removed connector for " + key);
+         connectors.remove(key);
          return holder.getConnector();
       } else
       {
          holder.decrement();
          if (log.isDebugEnabled())
             log.debug(holder.getCount() + " remaining references to "
-                  + holder.getConnector().getServerURI());
+                  + key);
          return null;
       }
    }
 
-   public RemotingConfiguration[] getRegisteredRemotingConfigurations()
+   public int getRegisteredConfigurationSize()
    {
-      Set<RemotingConfiguration> registeredRemotingConfigs = connectors.keySet();
-      return (RemotingConfiguration[]) registeredRemotingConfigs
-            .toArray(new RemotingConfiguration[registeredRemotingConfigs.size()]);
+      Collection<String> registeredConfigs = connectors.keySet();
+      return registeredConfigs.size();
    }
 
-   public int getConnectorCount(RemotingConfiguration remotingConfig)
+   public int getConnectorCount(Configuration remotingConfig)
    {
-      NIOConnectorHolder holder = connectors.get(remotingConfig);
+      String key = remotingConfig.getLocation();
+      NIOConnectorHolder holder = connectors.get(key);
       if (holder == null)
       {
          return 0;

Deleted: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationImpl.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationImpl.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -1,281 +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.impl;
-
-import java.io.Serializable;
-
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
-import org.jboss.messaging.core.remoting.TransportType;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * 
- * @version <tt>$Revision$</tt>
- * 
- */
-public class RemotingConfigurationImpl implements Serializable,
-      RemotingConfiguration
-{
-   // 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;
-   public static final boolean DEFAULT_SSL_ENABLED = 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;
-   private boolean sslEnabled = DEFAULT_SSL_ENABLED;
-   private String keyStorePath;
-   private String keyStorePassword;
-   private String trustStorePath;
-   private String trustStorePassword;
-
-   // Static --------------------------------------------------------
-
-   /**
-    * Creates a RemotingConfiguration for the special case where the
-    * RemotingService must be accessed only within the JVM (i.e. the
-    * service does not open any socket).
-    */
-   public static RemotingConfiguration newINVMConfiguration()
-   {
-     RemotingConfigurationImpl conf = new RemotingConfigurationImpl();
-     conf.transport = TransportType.INVM;
-     return conf;
-   }
-   
-   // Constructors --------------------------------------------------
-
-   // for serialization only
-   protected RemotingConfigurationImpl()
-   {
-   }
-   
-   public RemotingConfigurationImpl(TransportType transport, String host,
-         int port)
-   {
-      assert transport != null;
-      assert host != null;
-
-      this.transport = transport;
-      this.host = host;
-      this.port = port;
-   }
-
-   public RemotingConfigurationImpl(RemotingConfiguration other)
-   {
-      assert other != null;
-
-      this.transport = other.getTransport();
-      this.host = other.getHost();
-      this.port = other.getPort();
-
-      this.timeout = other.getTimeout();
-      this.keepAliveInterval = other.getKeepAliveInterval();
-      this.keepAliveTimeout = other.getKeepAliveTimeout();
-      this.invmDisabled = other.isInvmDisabled();
-      this.sslEnabled = other.isSSLEnabled();
-      this.keyStorePath = other.getKeyStorePath();
-      this.keyStorePassword = other.getKeyStorePassword();
-      this.trustStorePath = other.getTrustStorePath();
-      this.trustStorePassword = other.getTrustStorePassword();
-   }
-
-   // RemotingConfiguration implementation --------------------------
-
-   public TransportType getTransport()
-   {
-      return transport;
-   }
-
-   public String getHost()
-   {
-      return host;
-   }
-
-   public int getPort()
-   {
-      return port;
-   }
-
-   public int getKeepAliveInterval()
-   {
-      return keepAliveInterval;
-   }
-
-   public int getKeepAliveTimeout()
-   {
-      return keepAliveTimeout;
-   }
-
-   public int getTimeout()
-   {
-      return timeout;
-   }
-
-   public boolean isInvmDisabled()
-   {
-      return invmDisabled;
-   }
-
-   public boolean isSSLEnabled()
-   {
-      return sslEnabled;
-   }
-
-   public String getKeyStorePath()
-   {
-      return keyStorePath;
-   }
-
-   public String getKeyStorePassword()
-   {
-      return keyStorePassword;
-   }
-
-   public String getTrustStorePath()
-   {
-      return trustStorePath;
-   }
-
-   public String getTrustStorePassword()
-   {
-      return trustStorePassword;
-   }
-
-   // Public --------------------------------------------------------
-
-   // FIXME required only for tests
-   public void setPort(int port)
-   {
-      this.port = port;
-   }
-   
-   public void setKeepAliveInterval(int keepAliveInterval)
-   {
-      this.keepAliveInterval = keepAliveInterval;
-   }
-
-   public void setKeepAliveTimeout(int keepAliveTimeout)
-   {
-      this.keepAliveTimeout = keepAliveTimeout;
-   }
-
-   public void setTimeout(int timeout)
-   {
-      this.timeout = timeout;
-   }
-
-   public void setTrustStorePassword(String trustStorePassword)
-   {
-      this.trustStorePassword = trustStorePassword;
-   }
-
-   public void setInvmDisabled(boolean disabled)
-   {
-      this.invmDisabled = disabled;
-   }
-
-   public void setSSLEnabled(boolean sslEnabled)
-   {
-      this.sslEnabled = sslEnabled;
-   }
-
-   public void setKeyStorePath(String keyStorePath)
-   {
-      this.keyStorePath = keyStorePath;
-   }
-
-   public void setKeyStorePassword(String keyStorePassword)
-   {
-      this.keyStorePassword = keyStorePassword;
-   }
-
-   public void setTrustStorePath(String trustStorePath)
-   {
-      this.trustStorePath = trustStorePath;
-   }
-
-   @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 RemotingConfigurationImpl other = (RemotingConfigurationImpl) 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;
-   }
-
-   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);
-      buff.append("&").append("sslEnabled=").append(sslEnabled);
-      buff.append("&").append("keyStorePath=").append(keyStorePath);
-      buff.append("&").append("trustStorePath=").append(trustStorePath);
-      return buff.toString();
-   }
-
-   @Override
-   public String toString()
-   {
-      return "RemotingConfiguration[uri=" + getURI() + "]";
-   }
-
-   // Package protected ---------------------------------------------
-
-   // Protected -----------------------------------------------------
-
-   // Private -------------------------------------------------------
-
-   // Inner classes -------------------------------------------------
-}

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConfigurationValidator.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -8,8 +8,8 @@
 
 import static org.jboss.messaging.core.remoting.TransportType.INVM;
 
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
 
 /**
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -27,12 +27,12 @@
 
    // Static --------------------------------------------------------
 
-   public static void validate(RemotingConfiguration configuration)
+   public static void validate(Configuration configuration)
    {
       assert configuration != null;
       
       if (log.isDebugEnabled())
-         log.debug("validating " + configuration);
+         log.debug("validating " + configuration.getURI());
       
       if (configuration.getTransport() == INVM
             && configuration.isInvmDisabled())

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-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -30,13 +30,13 @@
 import org.apache.mina.filter.ssl.SslFilter;
 import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
 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.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.RemotingException;
 import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
 import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
@@ -55,7 +55,7 @@
    
    // Attributes ----------------------------------------------------
 
-   private RemotingConfiguration configuration;
+   private Configuration configuration;
 
    private NioSocketConnector connector;
 
@@ -72,12 +72,12 @@
 
    // Public --------------------------------------------------------
 
-   public MinaConnector(RemotingConfiguration configuration, PacketDispatcher dispatcher)
+   public MinaConnector(Configuration configuration, PacketDispatcher dispatcher)
    {
       this(configuration, dispatcher, new ClientKeepAliveFactory());
    }
 
-   public MinaConnector(RemotingConfiguration configuration, PacketDispatcher dispatcher,
+   public MinaConnector(Configuration configuration, PacketDispatcher dispatcher,
          KeepAliveFactory keepAliveFactory)
    {
       assert configuration != null;
@@ -258,13 +258,12 @@
 
       public void sessionCreated(IoSession session)
       {
-         if (log.isInfoEnabled())
-            log.info("created session " + session);
+         if (log.isTraceEnabled())
+            log.trace("created session " + session);
       }
 
       public void sessionDestroyed(IoSession session)
       {
-         log.warn("destroyed session " + session);
          RemotingException re =
             new RemotingException(MessagingException.INTERNAL_ERROR, "MINA session has been destroyed", Long.toString(session.getId()));
          fireFailure(re);

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-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -30,11 +30,11 @@
 import org.jboss.beans.metadata.api.annotations.Install;
 import org.jboss.beans.metadata.api.annotations.Uninstall;
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.remoting.Interceptor;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.RemotingException;
 import org.jboss.messaging.core.remoting.RemotingService;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
@@ -55,7 +55,7 @@
 
    private boolean started = false;
    
-   private RemotingConfiguration remotingConfig;
+   private Configuration config;
    
    private NioSocketAcceptor acceptor;
 
@@ -73,19 +73,19 @@
 
    // Constructors --------------------------------------------------
    
-   public MinaService(RemotingConfiguration remotingConfig)
+   public MinaService(Configuration config)
    {
-      this(remotingConfig, new ServerKeepAliveFactory());
+      this(config, new ServerKeepAliveFactory());
    }
 
-   public MinaService(RemotingConfiguration remotingConfig, ServerKeepAliveFactory factory)
+   public MinaService(Configuration config, ServerKeepAliveFactory factory)
    {
-      assert remotingConfig != null;
+      assert config != null;
       assert factory != null;
 
-      validate(remotingConfig);
+      validate(config);
       
-      this.remotingConfig = remotingConfig;
+      this.config = config;
       this.factory = factory;
       this.dispatcher = new PacketDispatcherImpl(this.filters);
    }
@@ -121,31 +121,31 @@
    public void start() throws Exception
    {
       if (log.isDebugEnabled())
-         log.debug("Start MinaService with configuration:" + remotingConfig);
+         log.debug("Start MinaService with configuration:" + config);
       
       // if INVM transport is set, we bypass MINA setup
-      if (remotingConfig.getTransport() != INVM 
+      if (config.getTransport() != INVM 
             && acceptor == null)
       {
          acceptor = new NioSocketAcceptor();
          DefaultIoFilterChainBuilder filterChain = acceptor.getFilterChain();
 
          addMDCFilter(filterChain);
-         if (remotingConfig.isSSLEnabled())
+         if (config.isSSLEnabled())
          {
-            addSSLFilter(filterChain, false, remotingConfig.getKeyStorePath(),
-                  remotingConfig.getKeyStorePassword(), remotingConfig
-                        .getTrustStorePath(), remotingConfig
+            addSSLFilter(filterChain, false, config.getKeyStorePath(),
+                  config.getKeyStorePassword(), config
+                        .getTrustStorePath(), config
                         .getTrustStorePassword());
          }
          addCodecFilter(filterChain);
          addLoggingFilter(filterChain);
          addKeepAliveFilter(filterChain, factory,
-               remotingConfig.getKeepAliveInterval(), remotingConfig.getKeepAliveTimeout(), this);
+               config.getKeepAliveInterval(), config.getKeepAliveTimeout(), this);
          addExecutorFilter(filterChain);
 
          // Bind
-         acceptor.setDefaultLocalAddress(new InetSocketAddress(remotingConfig.getHost(), remotingConfig.getPort()));
+         acceptor.setDefaultLocalAddress(new InetSocketAddress(config.getHost(), config.getPort()));
          acceptor.setReuseAddress(true);
          acceptor.getSessionConfig().setReuseAddress(true);
          acceptor.getSessionConfig().setKeepAlive(true);
@@ -157,11 +157,11 @@
          acceptor.addListener(acceptorListener);
       }
       
-      boolean disableInvm = remotingConfig.isInvmDisabled();
+      boolean disableInvm = config.isInvmDisabled();
       if (log.isDebugEnabled())
          log.debug("invm optimization for remoting is " + (disableInvm ? "disabled" : "enabled"));
       if (!disableInvm)
-         REGISTRY.register(remotingConfig, dispatcher);
+         REGISTRY.register(config, dispatcher);
 
       started = true;
    }
@@ -178,7 +178,7 @@
          acceptor = null;
       }
       
-      REGISTRY.unregister(remotingConfig);
+      REGISTRY.unregister(config);
       
       started = false;
    }
@@ -188,9 +188,9 @@
       return dispatcher;
    }
    
-   public RemotingConfiguration getRemotingConfiguration()
+   public Configuration getConfiguration()
    {
-      return remotingConfig;
+      return config;
    }
    
    /**
@@ -231,11 +231,11 @@
       this.factory = factory;
    }
 
-   public void setRemotingConfiguration(RemotingConfiguration remotingConfig)
+   public void setRemotingConfiguration(Configuration remotingConfig)
    {
       assert started == false;
       
-      this.remotingConfig = remotingConfig;
+      this.config = remotingConfig;
    }
 
    // Package protected ---------------------------------------------

Deleted: trunk/src/main/org/jboss/messaging/core/server/Configuration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/Configuration.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/server/Configuration.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -1,429 +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.messaging.core.server;
-
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeSupport;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
-import org.jboss.messaging.core.remoting.TransportType;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
-
-/**
- * @author <a href="mailto:ataylor at redhat.com>Andy Taylor</a>
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- */
-public class Configuration implements RemotingConfiguration, Serializable
-{
-   private static final long serialVersionUID = 4077088945050267843L;
-
-   private static final String REMOTING_DISABLE_INVM_SYSPROP_KEY = "jbm.remoting.disable.invm";
-
-   public static final String REMOTING_ENABLE_SSL_SYSPROP_KEY = "jbm.remoting.enable.ssl";
-
-   private PropertyChangeSupport propertyChangeSupport;
-   
-   protected int messagingServerID = 0;
-   
-   protected String securityDomain;
-   
-   protected List<String> defaultInterceptors = new ArrayList<String>();
-
-   protected long messageCounterSamplePeriod = (long) 10000;// Default is 1 minute
-
-   protected int defaultMessageCounterHistoryDayLimit = 1;
-
-   protected boolean strictTck = false;
-
-   protected boolean clustered = false;
-   
-   protected int scheduledThreadPoolMaxSize = 30;
-   
-   protected long securityInvalidationInterval = 10000;
-
-   protected RemotingConfigurationImpl remotingConfig;
-   
-   protected boolean requireDestinations;
-   
-   //Persistence config
-   
-   protected String bindingsDirectory;
-   
-   protected boolean createBindingsDir;
-   
-   protected String journalDirectory;
-   
-   protected boolean createJournalDir;
-   
-   protected JournalType journalType;
-   
-   protected boolean journalSync;
-   
-   protected int journalFileSize;
-   
-   protected int journalMinFiles;
-   
-   protected int journalMinAvailableFiles;
-   
-   protected long journalTaskPeriod;
-
-   public void addPropertyChangeListener(PropertyChangeListener listener)
-   {
-      if (propertyChangeSupport == null)
-      {
-         propertyChangeSupport = new PropertyChangeSupport(this);
-      }
-      propertyChangeSupport.addPropertyChangeListener(listener);
-   }
-
-   public int getMessagingServerID()
-   {
-      return messagingServerID;
-   }
-   
-   public void setMessagingServerID(int id)
-   {
-   	this.messagingServerID = id;
-   }
-  
-   public void setSecurityDomain(String securityDomain) throws Exception
-   {
-      this.securityDomain = securityDomain;
-   }
-
-   public String getSecurityDomain()
-   {
-      return securityDomain;
-   }
-   
-   public List<String> getDefaultInterceptors()
-   {
-      return defaultInterceptors;
-   }
-
-   public long getMessageCounterSamplePeriod()
-   {
-      return messageCounterSamplePeriod;
-   }
-
-   public void setMessageCounterSamplePeriod(long messageCounterSamplePeriod)
-   {
-      if (messageCounterSamplePeriod < 1000)
-      {
-         throw new IllegalArgumentException("Cannot set MessageCounterSamplePeriod < 1000 ms");
-      }
-      
-      propertyChangeSupport.firePropertyChange("messageCounterSamplePeriod", this.messageCounterSamplePeriod, messageCounterSamplePeriod);
-      
-      this.messageCounterSamplePeriod = messageCounterSamplePeriod;
-   }
-
-   public Integer getDefaultMessageCounterHistoryDayLimit()
-   {
-      return defaultMessageCounterHistoryDayLimit;
-   }
-
-   public void setDefaultMessageCounterHistoryDayLimit(Integer defaultMessageCounterHistoryDayLimit)
-   {
-      if (defaultMessageCounterHistoryDayLimit < -1)
-      {
-         defaultMessageCounterHistoryDayLimit = -1;
-      }
-      
-      this.defaultMessageCounterHistoryDayLimit = defaultMessageCounterHistoryDayLimit;
-   }
-
-   public Boolean isStrictTck()
-   {
-      return strictTck || "true".equalsIgnoreCase(System.getProperty("jboss.messaging.stricttck"));
-   }
-
-   public void setStrictTck(Boolean strictTck)
-   {
-      strictTck = strictTck || "true".equalsIgnoreCase(System.getProperty("jboss.messaging.stricttck"));
-   }
-  
-   public Boolean isClustered()
-   {
-      return clustered;
-   }
-   
-   public Integer getScheduledThreadPoolMaxSize()
-   {
-   	return scheduledThreadPoolMaxSize;
-   }
-   
-   public void setScheduledThreadPoolMaxSize(int size)
-   {
-   	this.scheduledThreadPoolMaxSize = size;
-   }
-
-   public void setClustered(Boolean clustered)
-   {
-      this.clustered = clustered;
-   }
-   
-   public long getSecurityInvalidationInterval()
-   {
-   	return this.securityInvalidationInterval;
-   }
-   
-   public String getHost()
-   {
-	   return remotingConfig.getHost();
-	}
-   
-   // FIXME required only for tests
-   public void setPort(int port)
-   {
-      remotingConfig.setPort(port);
-   }
-
-   public int getPort()
-   {
-	   return remotingConfig.getPort();
-   }
-
-   public TransportType getTransport() 
-   {
-	   return remotingConfig.getTransport();
-   }
-
-   public boolean isInvmDisabled()
-   {
-      if (System.getProperty(REMOTING_DISABLE_INVM_SYSPROP_KEY) != null)
-      {
-         return Boolean.parseBoolean(System.getProperty(REMOTING_DISABLE_INVM_SYSPROP_KEY));
-      }
-      else 
-      {
-         return remotingConfig.isInvmDisabled();
-      }
-   }
-
-   public boolean isSSLEnabled()
-   {
-      if (System.getProperty(REMOTING_ENABLE_SSL_SYSPROP_KEY) != null)
-      {
-         return Boolean.parseBoolean(System.getProperty(REMOTING_ENABLE_SSL_SYSPROP_KEY));
-      }
-      else 
-      {
-         return remotingConfig.isSSLEnabled();
-      }
-   }
-
-   public int getKeepAliveInterval()
-   {
-      return remotingConfig.getKeepAliveInterval();
-   }
-
-   public int getKeepAliveTimeout()
-   {
-      return remotingConfig.getKeepAliveTimeout();
-   }
-
-   public String getKeyStorePassword()
-   {
-      return remotingConfig.getKeyStorePassword();
-   }
-
-   public String getKeyStorePath()
-   {
-      return remotingConfig.getKeyStorePath();
-   }
-
-   public int getTimeout()
-   {
-      return remotingConfig.getTimeout();
-   }
-
-   public String getTrustStorePassword()
-   {
-      return remotingConfig.getTrustStorePassword();
-   }
-
-   public String getTrustStorePath()
-   {
-      return remotingConfig.getTrustStorePath();
-   }
-   
-   public String getURI()
-   {
-      return remotingConfig.getURI();
-   }
-
-	public String getBindingsDirectory()
-	{
-		return bindingsDirectory;
-	}
-
-	public void setBindingsDirectory(String bindingsDirectory)
-	{
-		this.bindingsDirectory = bindingsDirectory;
-	}
-
-	public String getJournalDirectory()
-	{
-		return journalDirectory;
-	}
-
-	public void setJournalDirectory(String journalDirectory)
-	{
-		this.journalDirectory = journalDirectory;
-	}
-
-	public JournalType getJournalType()
-	{
-		return journalType;
-	}
-
-	public void setJournalType(JournalType journalType)
-	{
-		this.journalType = journalType;
-	}
-
-	public boolean isJournalSync()
-	{
-		return journalSync;
-	}
-
-	public void setJournalSync(boolean journalSync)
-	{
-		this.journalSync = journalSync;
-	}
-
-	public int getJournalFileSize()
-	{
-		return journalFileSize;
-	}
-
-	public void setJournalFileSize(int journalFileSize)
-	{
-		this.journalFileSize = journalFileSize;
-	}
-
-	public int getJournalMinFiles()
-	{
-		return journalMinFiles;
-	}
-
-	public void setJournalMinFiles(int journalMinFiles)
-	{
-		this.journalMinFiles = journalMinFiles;
-	}
-
-	public int getJournalMinAvailableFiles()
-	{
-		return journalMinAvailableFiles;
-	}
-
-	public void setJournalMinAvailableFiles(int journalMinAvailableFiles)
-	{
-		this.journalMinAvailableFiles = journalMinAvailableFiles;
-	}
-
-	public long getJournalTaskPeriod()
-	{
-		return journalTaskPeriod;
-	}
-
-	public void setJournalTaskPeriod(long journalTaskPeriod)
-	{
-		this.journalTaskPeriod = journalTaskPeriod;
-	}
-
-	public boolean isCreateBindingsDir()
-	{
-		return createBindingsDir;
-	}
-
-	public void setCreateBindingsDir(boolean createBindingsDir)
-	{
-		this.createBindingsDir = createBindingsDir;
-	}
-
-	public boolean isCreateJournalDir()
-	{
-		return createJournalDir;
-	}
-
-	public void setCreateJournalDir(boolean createJournalDir)
-	{
-		this.createJournalDir = createJournalDir;
-	}
-
-	public boolean isRequireDestinations()
-	{
-		return requireDestinations;
-	}
-
-	public void setRequireDestinations(boolean requireDestinations)
-	{
-		this.requireDestinations = requireDestinations;
-	}
-
-
-   
-//   /**
-//    * If the system property <code>jbm.remoting.disable.invm</code> is set, its boolean value is used 
-//    * regardless of the value of the property <code>remoting-disable-invm</code> in <code>jbm-configuration.xml</code>
-//    */
-//   public RemotingConfiguration getRemotingConfiguration() 
-//   {
-//      RemotingConfigurationImpl configuration = new RemotingConfigurationImpl(remotingTransport, "localhost", remotingBindAddress);
-//      
-//      configuration.setTimeout(remotingTimeout);
-//      
-//      if (System.getProperty(REMOTING_DISABLE_INVM_SYSPROP_KEY) != null)
-//      {
-//         configuration.setInvmDisabled(Boolean.parseBoolean(System.getProperty(REMOTING_DISABLE_INVM_SYSPROP_KEY)));
-//      }
-//      else 
-//      {
-//         configuration.setInvmDisabled(remotingDisableInvm);
-//      }
-//      
-//      if (System.getProperty(REMOTING_ENABLE_SSL_SYSPROP_KEY) != null)
-//      {
-//         configuration.setSSLEnabled(Boolean.parseBoolean(System.getProperty(REMOTING_ENABLE_SSL_SYSPROP_KEY)));
-//      }
-//      else 
-//      {
-//         configuration.setSSLEnabled(remotingEnableSSL);
-//      }
-//      
-//      configuration.setKeyStorePath(remotingSSLKeyStorePath);
-//      
-//      configuration.setKeyStorePassword(remotingSSLKeyStorePassword);
-//      
-//      configuration.setTrustStorePath(remotingSSLTrustStorePath);
-//      
-//      configuration.setTrustStorePassword(remotingSSLTrustStorePassword); 
-//      
-//      return configuration;
-//   }
-}
- 

Modified: trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -23,6 +23,7 @@
 
 import java.util.HashSet;
 
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.deployers.DeploymentManager;
 import org.jboss.messaging.core.persistence.StorageManager;
 import org.jboss.messaging.core.postoffice.PostOffice;

Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -26,6 +26,8 @@
 import java.util.concurrent.ScheduledThreadPoolExecutor;
 
 import org.jboss.logging.Logger;
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.messaging.core.deployers.Deployer;
 import org.jboss.messaging.core.deployers.DeploymentManager;
 import org.jboss.messaging.core.deployers.impl.FileDeploymentManager;
@@ -38,16 +40,14 @@
 import org.jboss.messaging.core.postoffice.PostOffice;
 import org.jboss.messaging.core.postoffice.impl.PostOfficeImpl;
 import org.jboss.messaging.core.remoting.Interceptor;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.RemotingService;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionResponse;
+import org.jboss.messaging.core.security.JBMSecurityManager;
 import org.jboss.messaging.core.security.Role;
 import org.jboss.messaging.core.security.SecurityStore;
-import org.jboss.messaging.core.security.JBMSecurityManager;
+import org.jboss.messaging.core.security.impl.JBMSecurityManagerImpl;
 import org.jboss.messaging.core.security.impl.SecurityStoreImpl;
-import org.jboss.messaging.core.security.impl.JBMSecurityManagerImpl;
-import org.jboss.messaging.core.server.Configuration;
 import org.jboss.messaging.core.server.ConnectionManager;
 import org.jboss.messaging.core.server.MessagingServer;
 import org.jboss.messaging.core.server.QueueFactory;
@@ -59,7 +59,6 @@
 import org.jboss.messaging.core.transaction.impl.ResourceManagerImpl;
 import org.jboss.messaging.core.version.Version;
 import org.jboss.messaging.core.version.impl.VersionImpl;
-import org.jboss.messaging.core.exception.MessagingException;
 
 /**
  * A Messaging Server
@@ -105,7 +104,7 @@
    private RemotingService remotingService;
    private boolean createTransport = false;
 
-   private Configuration configuration = new Configuration();
+   private Configuration configuration = new ConfigurationImpl();
    private HierarchicalRepository<HashSet<Role>> securityRepository = new HierarchicalObjectRepository<HashSet<Role>>();
    private HierarchicalRepository<QueueSettings> queueSettingsRepository = new HierarchicalObjectRepository<QueueSettings>();
    private QueueFactory queueFactory;
@@ -128,13 +127,14 @@
    /**
     * called when the usewr wants the MessagingServer to handle the creation of the RemotingTransport
     *
-    * @param remotingConfiguration the RemotingConfiguration
+    * @param configuration the configuration
     */
-   public MessagingServerImpl(RemotingConfiguration remotingConfiguration)
+   public MessagingServerImpl(Configuration configuration)
    {
       this();
+      this.configuration = configuration;
       createTransport = true;
-      remotingService = new MinaService(remotingConfiguration);
+      remotingService = new MinaService(configuration);
    }
    // lifecycle methods ----------------------------------------------------------------
 

Added: trunk/tests/src/org/jboss/messaging/core/integration/test/CoreClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/integration/test/CoreClientTest.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/core/integration/test/CoreClientTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -0,0 +1,86 @@
+package org.jboss.messaging.core.integration.test;
+
+import static org.jboss.messaging.core.remoting.TransportType.INVM;
+import junit.framework.TestCase;
+
+import org.jboss.messaging.core.client.ClientConnection;
+import org.jboss.messaging.core.client.ClientConnectionFactory;
+import org.jboss.messaging.core.client.ClientConsumer;
+import org.jboss.messaging.core.client.ClientProducer;
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.core.client.impl.ClientConnectionFactoryImpl;
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
+import org.jboss.messaging.core.message.Message;
+import org.jboss.messaging.core.message.impl.MessageImpl;
+import org.jboss.messaging.core.server.impl.MessagingServerImpl;
+import org.jboss.messaging.jms.client.JBossTextMessage;
+
+public class CoreClientTest extends TestCase
+{
+   // Constants -----------------------------------------------------
+
+   private final String QUEUE = "CoreClientTestQueue";
+   // Attributes ----------------------------------------------------
+   private Configuration conf;
+   private MessagingServerImpl invmServer;
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   @Override
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+
+      conf = new ConfigurationImpl();
+      conf.setInvmDisabled(false);
+      conf.setTransport(INVM);
+      invmServer = new MessagingServerImpl(conf);
+      invmServer.start();
+   }
+   
+   @Override
+   protected void tearDown() throws Exception
+   {
+      invmServer.stop();
+      
+      super.tearDown();
+   }
+   
+   
+   public void testINVMCoreClient() throws Exception
+   {
+      ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, invmServer.getConfiguration(), invmServer.getVersion());
+      ClientConnection conn = cf.createConnection();
+      
+      ClientSession session = conn.createClientSession(false, true, true, -1, false, false);
+      session.createQueue(QUEUE, QUEUE, null, false, false);
+      
+      ClientProducer producer = session.createProducer(QUEUE);
+
+      Message message = new MessageImpl(JBossTextMessage.TYPE, false, 0,
+            System.currentTimeMillis(), (byte) 1);
+      message.setPayload("testINVMCoreClient".getBytes());
+      producer.send(message);
+
+      ClientConsumer consumer = session.createConsumer(QUEUE, null, false, false, true);
+      conn.start();
+      
+      message = consumer.receive(1000);
+      assertEquals("testINVMCoreClient", new String(message.getPayload()));
+      
+      conn.close();
+   }
+      
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}

Modified: trunk/tests/src/org/jboss/messaging/core/integration/test/ProducerFlowControlTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/integration/test/ProducerFlowControlTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/integration/test/ProducerFlowControlTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -23,21 +23,10 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.messaging.core.client.ClientConnection;
-import org.jboss.messaging.core.client.ClientConnectionFactory;
-import org.jboss.messaging.core.client.ClientConsumer;
 import org.jboss.messaging.core.client.ClientProducer;
-import org.jboss.messaging.core.client.ClientSession;
-import org.jboss.messaging.core.client.MessageHandler;
-import org.jboss.messaging.core.client.impl.ClientConnectionFactoryImpl;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.message.Message;
 import org.jboss.messaging.core.message.impl.MessageImpl;
-import org.jboss.messaging.core.remoting.TransportType;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
-import org.jboss.messaging.core.server.MessagingServer;
-import org.jboss.messaging.core.server.impl.MessagingServerImpl;
-import org.jboss.messaging.core.settings.impl.QueueSettings;
 
 /**
  * 

Added: trunk/tests/src/org/jboss/messaging/core/remoting/impl/ConfigurationHelper.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/ConfigurationHelper.java	                        (rev 0)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/ConfigurationHelper.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -0,0 +1,37 @@
+package org.jboss.messaging.core.remoting.impl;
+
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
+import org.jboss.messaging.core.remoting.TransportType;
+
+public class ConfigurationHelper
+{
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   // Static --------------------------------------------------------
+
+   // Constructors --------------------------------------------------
+
+   // Public --------------------------------------------------------
+
+   public static Configuration newConfiguration(TransportType transport, String localhost, int port)
+   {
+      Configuration config = new ConfigurationImpl();
+      if (transport == TransportType.INVM)
+         config.setInvmDisabled(false);
+      config.setTransport(transport);
+      config.setHost(localhost);
+      config.setPort(port);
+      return config;
+   }
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+}

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -16,12 +16,12 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.messaging.core.remoting.PacketDispatcher;
+import org.jboss.messaging.core.config.Configuration;
 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.PacketHandler;
 import org.jboss.messaging.core.remoting.PacketSender;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
 import org.jboss.messaging.core.remoting.impl.mina.integration.test.ReversePacketHandler;
 import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
 import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
@@ -269,7 +269,7 @@
       serverDispatcher = null;
    }
    
-   protected abstract RemotingConfiguration createRemotingConfiguration();
+   protected abstract Configuration createRemotingConfiguration();
    
    protected abstract NIOConnector createNIOConnector(PacketDispatcher dispatcher);
 

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMSessionTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMSessionTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMSessionTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -9,11 +9,11 @@
 import static org.jboss.messaging.core.remoting.TransportType.INVM;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.PORT;
 
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.NIOConnector;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.remoting.impl.SessionTestBase;
 import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
 
@@ -46,9 +46,9 @@
    }
    
    @Override
-   protected RemotingConfiguration createRemotingConfiguration()
+   protected Configuration createRemotingConfiguration()
    {
-      return new RemotingConfigurationImpl(INVM, "localhost", PORT);
+      return ConfigurationHelper.newConfiguration(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-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ClientKeepAliveTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -23,12 +23,13 @@
 import junit.framework.TestCase;
 
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.remoting.KeepAliveFactory;
 import org.jboss.messaging.core.remoting.NIOSession;
 import org.jboss.messaging.core.remoting.RemotingException;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.remoting.impl.mina.ClientKeepAliveFactory;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -58,10 +59,10 @@
    @Override
    protected void setUp() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP, "localhost", PORT);
-      remotingConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
-      remotingConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
-      service = new MinaService(remotingConfig);
+      Configuration config = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
+      config.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
+      config.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
+      service = new MinaService(config);
       service.start();
    }
 
@@ -97,7 +98,7 @@
       };
       service.addFailureListener(listener);
 
-      MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), new PacketDispatcherImpl(), factory);
+      MinaConnector connector = new MinaConnector(service.getConfiguration(), new PacketDispatcherImpl(), factory);
       connector.connect();
 
       boolean firedKeepAliveNotification = latch.await(KEEP_ALIVE_INTERVAL
@@ -128,7 +129,7 @@
       };
       service.addFailureListener(listener);
       
-      MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), new PacketDispatcherImpl(), factory);
+      MinaConnector connector = new MinaConnector(service.getConfiguration(), new PacketDispatcherImpl(), factory);
 
       NIOSession session = connector.connect();
       String clientSessionID = session.getID();
@@ -173,7 +174,7 @@
 
       try
       {
-         MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(),
+         MinaConnector connector = new MinaConnector(service.getConfiguration(),
                new PacketDispatcherImpl(), factory);
 
          NIOSession session = connector.connect();
@@ -233,9 +234,9 @@
       service.addFailureListener(listener);
       
       MinaConnector connectorNotResponding = new MinaConnector(service
-            .getRemotingConfiguration(), new PacketDispatcherImpl(), notRespondingfactory);
+            .getConfiguration(), new PacketDispatcherImpl(), notRespondingfactory);
       MinaConnector connectorResponding = new MinaConnector(service
-            .getRemotingConfiguration(), new PacketDispatcherImpl(), respondingfactory);
+            .getConfiguration(), new PacketDispatcherImpl(), respondingfactory);
 
       NIOSession sessionNotResponding = connectorNotResponding.connect();
       String clientSessionIDNotResponding = sessionNotResponding.getID();

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaServiceTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaServiceTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaServiceTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -9,8 +9,9 @@
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.NIOSession;
 import org.jboss.messaging.core.remoting.RemotingService;
+import org.jboss.messaging.core.remoting.TransportType;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -41,7 +42,7 @@
 
    public void testMinaConnector_Failure() throws Exception
    {
-      NIOConnector connector = new MinaConnector(new RemotingConfigurationImpl(
+      NIOConnector connector = new MinaConnector(ConfigurationHelper.newConfiguration(
             TCP, "localhost", 9000), new PacketDispatcherImpl());
 
       try
@@ -61,7 +62,7 @@
    {
       super.setUp();
 
-      invmService = new MinaService(RemotingConfigurationImpl.newINVMConfiguration());
+      invmService = new MinaService(ConfigurationHelper.newConfiguration(TransportType.INVM, "localhost", -1));
       invmService.start();
    }
 

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaSessionTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaSessionTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaSessionTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -10,9 +10,10 @@
 import static org.jboss.messaging.core.remoting.TransportType.TCP;
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.PORT;
 
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
-import org.jboss.messaging.core.remoting.NIOConnector;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.SessionTestBase;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -65,9 +66,9 @@
    }
    
    @Override
-   protected RemotingConfigurationImpl createRemotingConfiguration()
+   protected Configuration createRemotingConfiguration()
    {
-      return new RemotingConfigurationImpl(TCP, "localhost", PORT);
+      return ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
    }
 
    @Override

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-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ServerKeepAliveTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -17,11 +17,12 @@
 import junit.framework.TestCase;
 
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
 import org.jboss.messaging.core.remoting.NIOSession;
 import org.jboss.messaging.core.remoting.RemotingException;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 import org.jboss.messaging.core.remoting.impl.mina.ServerKeepAliveFactory;
@@ -80,15 +81,15 @@
          }
       };
 
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP,
+      Configuration config = ConfigurationHelper.newConfiguration(TCP,
             "localhost", PORT);
-      remotingConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
-      remotingConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
-      service = new MinaService(remotingConfig, factory);
+      config.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
+      config.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
+      service = new MinaService(config, factory);
       service.start();
 
       MinaConnector connector = new MinaConnector(service
-            .getRemotingConfiguration(), new PacketDispatcherImpl());
+            .getConfiguration(), new PacketDispatcherImpl());
       final String[] sessionIDNotResponding = new String[1];
       final CountDownLatch latch = new CountDownLatch(1);
 
@@ -135,15 +136,15 @@
          }
       };
 
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP,
+      Configuration config = ConfigurationHelper.newConfiguration(TCP,
             "localhost", PORT);
-      remotingConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
-      remotingConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
-      service = new MinaService(remotingConfig, factory);
+      config.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
+      config.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
+      service = new MinaService(config, factory);
       service.start();
 
       MinaConnector connector = new MinaConnector(service
-            .getRemotingConfiguration(), new PacketDispatcherImpl());
+            .getConfiguration(), new PacketDispatcherImpl());
       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-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/stress/PacketStressTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -15,12 +15,13 @@
 
 import junit.framework.TestCase;
 
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.remoting.NIOConnector;
 import org.jboss.messaging.core.remoting.NIOSession;
 import org.jboss.messaging.core.remoting.PacketHandler;
 import org.jboss.messaging.core.remoting.PacketSender;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
@@ -55,10 +56,10 @@
    @Override
    protected void setUp() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP, "localhost", PORT);
-      service = new MinaService(remotingConfig);
+      Configuration config = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
+      service = new MinaService(config);
       service.start();
-      connector = new MinaConnector(remotingConfig, new PacketDispatcherImpl());
+      connector = new MinaConnector(config, new PacketDispatcherImpl());
       
    }
    

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSL.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSL.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSL.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -32,9 +32,10 @@
 import org.jboss.messaging.core.client.ClientProducer;
 import org.jboss.messaging.core.client.ClientSession;
 import org.jboss.messaging.core.client.impl.ClientConnectionFactoryImpl;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.message.impl.MessageImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.server.MessagingServer;
 import org.jboss.messaging.core.server.impl.MessagingServerImpl;
 import org.jboss.messaging.jms.client.JBossTextMessage;
@@ -71,16 +72,16 @@
          String keyStorePath = args[1];
          String keyStorePassword = args[2];
 
-         RemotingConfigurationImpl remotingConf = new RemotingConfigurationImpl(TCP,
+         Configuration config = ConfigurationHelper.newConfiguration(TCP,
                "localhost", CoreClientOverSSLTest.SSL_PORT);
-         remotingConf.setSSLEnabled(sslEnabled);
-         remotingConf.setKeyStorePath(keyStorePath);
-         remotingConf.setKeyStorePassword(keyStorePassword);
+         config.setSSLEnabled(sslEnabled);
+         config.setKeyStorePath(keyStorePath);
+         config.setKeyStorePassword(keyStorePassword);
 
          // FIXME there should be another way to get a meaningful Version on the
          // client side...
          MessagingServer server = new MessagingServerImpl();
-         ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, remotingConf, server.getVersion());
+         ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, config, server.getVersion());
          ClientConnection conn = cf.createConnection(null, null);
          ClientSession session = conn.createClientSession(false, true, true, -1, false, false);
          ClientProducer producer = session.createProducer(QUEUE);

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSLTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSLTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSLTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -30,9 +30,10 @@
 import org.jboss.messaging.core.client.ClientConsumer;
 import org.jboss.messaging.core.client.ClientSession;
 import org.jboss.messaging.core.client.impl.ClientConnectionFactoryImpl;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.logging.Logger;
 import org.jboss.messaging.core.message.Message;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 import org.jboss.messaging.core.server.MessagingServer;
 import org.jboss.messaging.core.server.impl.MessagingServerImpl;
 import org.jboss.test.messaging.jms.SerializedClientSupport;
@@ -117,18 +118,18 @@
    @Override
    protected void setUp() throws Exception
    {
-      RemotingConfigurationImpl remotingConf = new RemotingConfigurationImpl(TCP,
+      Configuration config = ConfigurationHelper.newConfiguration(TCP,
             "localhost", SSL_PORT);
-      remotingConf.setSSLEnabled(true);
-      remotingConf.setKeyStorePath("messaging.keystore");
-      remotingConf.setKeyStorePassword("secureexample");
-      remotingConf.setTrustStorePath("messaging.truststore");
-      remotingConf.setTrustStorePassword("secureexample");
+      config.setSSLEnabled(true);
+      config.setKeyStorePath("messaging.keystore");
+      config.setKeyStorePassword("secureexample");
+      config.setTrustStorePath("messaging.truststore");
+      config.setTrustStorePassword("secureexample");
 
-      server = new MessagingServerImpl(remotingConf);
+      server = new MessagingServerImpl(config);
       server.start();
 
-      ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, remotingConf, server.getVersion());
+      ClientConnectionFactory cf = new ClientConnectionFactoryImpl(0, config, server.getVersion());
       connection = cf.createConnection(null, null);
       ClientSession session = connection.createClientSession(false, true, true, -1, false, false);
       session.createQueue(QUEUE, QUEUE, null, false, false);

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-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -11,12 +11,13 @@
 import static org.jboss.messaging.core.remoting.impl.mina.integration.test.TestSupport.PORT;
 import junit.framework.TestCase;
 
+import org.jboss.messaging.core.config.Configuration;
 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.impl.ConfigurationHelper;
 import org.jboss.messaging.core.remoting.impl.ConnectorRegistryImpl;
 import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 
 /**
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -44,145 +45,144 @@
    {
       registry = new ConnectorRegistryImpl();
       dispatcher = new PacketDispatcherImpl();
-      assertEquals(0, registry.getRegisteredRemotingConfigurations().length);
+      assertEquals(0, registry.getRegisteredConfigurationSize());
    }
    
    @Override
    protected void tearDown() throws Exception
    {
-      assertEquals(0, registry.getRegisteredRemotingConfigurations().length);
+      assertEquals(0, registry.getRegisteredConfigurationSize());
       registry = null;
    }
    
-   public void testRemotingConfigurationRegistration() throws Exception
+   public void testConfigurationRegistration() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP, "localhost", PORT);
+      Configuration config = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
       
-      assertTrue(registry.register(remotingConfig, dispatcher));
-      assertFalse(registry.register(remotingConfig, dispatcher));
+      assertTrue(registry.register(config, dispatcher));
+      assertFalse(registry.register(config, dispatcher));
       
-      assertTrue(registry.unregister(remotingConfig));
-      assertFalse(registry.unregister(remotingConfig));
+      assertTrue(registry.unregister(config));
+      assertFalse(registry.unregister(config));
 
-      assertTrue(registry.register(remotingConfig, dispatcher));
-      assertTrue(registry.unregister(remotingConfig));
+      assertTrue(registry.register(config, dispatcher));
+      assertTrue(registry.unregister(config));
    }
    
-   public void testRegistrationForTwoRemotingConfigurations() throws Exception
+   public void testRegistrationForTwoConfigurations() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig_1 = new RemotingConfigurationImpl(TCP, "localhost", PORT);
-      RemotingConfigurationImpl remotingConfig_2 = new RemotingConfigurationImpl(TCP, "localhost", PORT + 1);     
+      Configuration config_1 = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
+      Configuration config_2 = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT + 1);     
       PacketDispatcher dispatcher_1 = new PacketDispatcherImpl();      
       PacketDispatcher dispatcher_2 = new PacketDispatcherImpl();
       
-      assertTrue(registry.register(remotingConfig_1, dispatcher_1));
-      assertTrue(registry.register(remotingConfig_2, dispatcher_2));
+      assertTrue(registry.register(config_1, dispatcher_1));
+      assertTrue(registry.register(config_2, dispatcher_2));
       
-      assertTrue(registry.unregister(remotingConfig_1));
-      assertTrue(registry.unregister(remotingConfig_2));
+      assertTrue(registry.unregister(config_1));
+      assertTrue(registry.unregister(config_2));
    }
    
-   public void testINVMConnectorFromTCPRemotingConfiguration() throws Exception
+   public void testINVMConnectorFromTCPConfiguration() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP, "localhost", PORT);
+      Configuration config = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
       
-      // remotingConfig is registered -> client and server are in the same vm
-      assertTrue(registry.register(remotingConfig, dispatcher));
+      // config is registered -> client and server are in the same vm
+      assertTrue(registry.register(config, dispatcher));
       
-      NIOConnector connector = registry.getConnector(remotingConfig, dispatcher);
+      NIOConnector connector = registry.getConnector(config, dispatcher);
       
       assertTrue(connector.getServerURI().startsWith(INVM.toString()));
       
-      assertTrue(registry.unregister(remotingConfig));
+      assertTrue(registry.unregister(config));
       
-      assertNotNull(registry.removeConnector(remotingConfig));
+      assertNotNull(registry.removeConnector(config));
    }
    
    
-   public void testTCPConnectorFromTCPRemotingConfiguration() throws Exception
+   public void testTCPConnectorFromTCPConfiguration() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP, "localhost", PORT);
+      Configuration config = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
       
-      // remotingConfig is not registered -> client and server are not in the same vm
+      // config is not registered -> client and server are not in the same vm
       
-      NIOConnector connector = registry.getConnector(remotingConfig, dispatcher);
+      NIOConnector connector = registry.getConnector(config, dispatcher);
       
       assertNotNull(connector);
-      assertEquals(remotingConfig.getURI(), connector.getServerURI());
+      assertEquals(config.getURI(), connector.getServerURI());
       
-      assertNotNull(registry.removeConnector(remotingConfig));
+      assertNotNull(registry.removeConnector(config));
    }
    
    public void testConnectorCount() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig = new RemotingConfigurationImpl(TCP, "localhost", PORT);
-      assertEquals(0, registry.getConnectorCount(remotingConfig));
+      Configuration config = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
+      assertEquals(0, registry.getConnectorCount(config));
 
-      NIOConnector connector1 = registry.getConnector(remotingConfig, dispatcher);
-      assertEquals(1, registry.getConnectorCount(remotingConfig));
+      NIOConnector connector1 = registry.getConnector(config, dispatcher);
+      assertEquals(1, registry.getConnectorCount(config));
 
-      NIOConnector connector2 = registry.getConnector(remotingConfig, dispatcher);
-      assertEquals(2, registry.getConnectorCount(remotingConfig));
+      NIOConnector connector2 = registry.getConnector(config, dispatcher);
+      assertEquals(2, registry.getConnectorCount(config));
 
       assertSame(connector1, connector2);
       
-      assertNull(registry.removeConnector(remotingConfig));
-      assertEquals(1, registry.getConnectorCount(remotingConfig));
+      assertNull(registry.removeConnector(config));
+      assertEquals(1, registry.getConnectorCount(config));
 
-      NIOConnector connector3 = registry.getConnector(remotingConfig, dispatcher);
-      assertEquals(2, registry.getConnectorCount(remotingConfig));
+      NIOConnector connector3 = registry.getConnector(config, dispatcher);
+      assertEquals(2, registry.getConnectorCount(config));
 
       assertSame(connector1, connector3);
       
-      assertNull(registry.removeConnector(remotingConfig));
-      assertNotNull(registry.removeConnector(remotingConfig));
-      assertEquals(0, registry.getConnectorCount(remotingConfig));
+      assertNull(registry.removeConnector(config));
+      assertNotNull(registry.removeConnector(config));
+      assertEquals(0, registry.getConnectorCount(config));
    }
    
    public void testConnectorCount_2() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig1 = new RemotingConfigurationImpl(TCP, "localhost", PORT);
-      RemotingConfigurationImpl remotingConfig2 = new RemotingConfigurationImpl(TCP, "127.0.0.1", PORT);
+      Configuration config1 = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
+      Configuration config2 = ConfigurationHelper.newConfiguration(TCP, "127.0.0.1", PORT);
 
-      assertNotSame(remotingConfig1, remotingConfig2);
+      assertNotSame(config1, config2);
       
-      assertEquals(0, registry.getConnectorCount(remotingConfig1));
-      assertEquals(0, registry.getConnectorCount(remotingConfig2));
+      assertEquals(0, registry.getConnectorCount(config1));
+      assertEquals(0, registry.getConnectorCount(config2));
 
-      NIOConnector connector1 = registry.getConnector(remotingConfig1, dispatcher);
-      assertEquals(1, registry.getConnectorCount(remotingConfig1));
+      NIOConnector connector1 = registry.getConnector(config1, dispatcher);
+      assertEquals(1, registry.getConnectorCount(config1));
 
-      NIOConnector connector2 = registry.getConnector(remotingConfig2, dispatcher);
-      assertEquals(1, registry.getConnectorCount(remotingConfig2));
+      NIOConnector connector2 = registry.getConnector(config2, dispatcher);
+      assertEquals(1, registry.getConnectorCount(config2));
       
       assertNotSame(connector1, connector2);
       
-      assertNotNull(registry.removeConnector(remotingConfig1));
-      assertNotNull(registry.removeConnector(remotingConfig2));
+      assertNotNull(registry.removeConnector(config1));
+      assertNotNull(registry.removeConnector(config2));
    }
    
    /**
-    * Check that 2 RemotingConfiguration which are equals (but not the same object) will
+    * Check that 2 configuration which are similar (but not the same object) will
     * return the same NIOConnector
     */
-   public void testRemotingConfigurationEquality() throws Exception
+   public void testConfigurationEquality() throws Exception
    {
-      RemotingConfigurationImpl remotingConfig1 = new RemotingConfigurationImpl(TCP, "localhost", PORT);
-      RemotingConfigurationImpl remotingConfig2 = new RemotingConfigurationImpl(TCP, "localhost", PORT);
+      Configuration config1 = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
+      Configuration config2 = ConfigurationHelper.newConfiguration(TCP, "localhost", PORT);
 
-      assertNotSame(remotingConfig1, remotingConfig2);
-      assertEquals(remotingConfig1, remotingConfig2);
+      assertNotSame(config1, config2);
 
-      NIOConnector connector1 = registry.getConnector(remotingConfig1, dispatcher);
-      assertEquals(1, registry.getConnectorCount(remotingConfig1));
+      NIOConnector connector1 = registry.getConnector(config1, dispatcher);
+      assertEquals(1, registry.getConnectorCount(config1));
 
-      NIOConnector connector2 = registry.getConnector(remotingConfig2, dispatcher);
-      assertEquals(2, registry.getConnectorCount(remotingConfig2));
+      NIOConnector connector2 = registry.getConnector(config2, dispatcher);
+      assertEquals(2, registry.getConnectorCount(config2));
 
       assertSame(connector1, connector2);
 
-      assertNull(registry.removeConnector(remotingConfig1));
-      assertNotNull(registry.removeConnector(remotingConfig2));
+      assertNull(registry.removeConnector(config1));
+      assertNotNull(registry.removeConnector(config2));
    }
 
    // Package protected ---------------------------------------------

Modified: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/RemotingConfigurationValidatorTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -11,8 +11,8 @@
 import static org.jboss.messaging.core.remoting.impl.RemotingConfigurationValidator.validate;
 import junit.framework.TestCase;
 
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.remoting.impl.ConfigurationHelper;
 
 /**
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -34,18 +34,18 @@
 
    public void testINVMConfiguration()
    {
-      RemotingConfiguration conf = RemotingConfigurationImpl.newINVMConfiguration();
-
-      validate(conf);
+      Configuration config = ConfigurationHelper.newConfiguration(INVM, "localhost", -1);
+      
+      validate(config);
    }
 
    public void testNegativePort()
    {
-      RemotingConfiguration conf = new RemotingConfigurationImpl(TCP, "localhost", -1);
+      Configuration config =  ConfigurationHelper.newConfiguration(TCP, "localhost", -1);
 
       try 
       {
-         validate(conf);
+         validate(config);
          fail("can not set a negative port");
       } catch (Exception e)
       {
@@ -55,12 +55,12 @@
    
    public void test_DisableINVM_With_INVMTransport()
    {
-      RemotingConfigurationImpl conf = new RemotingConfigurationImpl(INVM, "localhost", 9000);
-      conf.setInvmDisabled(true);
+      Configuration config = ConfigurationHelper.newConfiguration(INVM, "localhost", 9000);
+      config.setInvmDisabled(true);
       
       try 
       {
-         validate(conf);
+         validate(config);
          fail("can not disable INVM when INVM transport is set");
       } catch (Exception e)
       {
@@ -70,12 +70,12 @@
    
    public void test_EnableSSL_With_INVMTransport()
    {
-      RemotingConfigurationImpl conf = new RemotingConfigurationImpl(INVM, "localhost", 9000);
-      conf.setSSLEnabled(true);
+      Configuration config = ConfigurationHelper.newConfiguration(INVM, "localhost", 9000);
+      config.setSSLEnabled(true);
       
       try 
       {
-         validate(conf);
+         validate(config);
          fail("can not enable SSL when INVM transport is set");
       } catch (Exception e)
       {

Modified: trunk/tests/src/org/jboss/test/messaging/JBMServerTestCase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/JBMServerTestCase.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/test/messaging/JBMServerTestCase.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -36,8 +36,7 @@
 import javax.sql.DataSource;
 import javax.transaction.TransactionManager;
 
-import org.jboss.messaging.core.management.MessagingServerManagement;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.security.Role;
 import org.jboss.messaging.core.server.ConnectionManager;
 import org.jboss.messaging.core.server.MessagingServer;
@@ -966,8 +965,8 @@
     */
    protected void sleepIfRemoting(int time) throws Exception
    {
-      RemotingConfiguration remotingConf = servers.get(0).getMessagingServer().getRemotingService().getRemotingConfiguration();
-      if (remotingConf.isInvmDisabled())
+      Configuration config = servers.get(0).getMessagingServer().getRemotingService().getConfiguration();
+      if (config.isInvmDisabled())
       {
          Thread.sleep(time);
       }

Modified: trunk/tests/src/org/jboss/test/messaging/jms/network/ClientNetworkFailureTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/network/ClientNetworkFailureTest.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/test/messaging/jms/network/ClientNetworkFailureTest.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -33,9 +33,8 @@
 import javax.jms.QueueConnection;
 
 import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.config.Configuration;
 import org.jboss.messaging.core.exception.MessagingException;
-import org.jboss.messaging.core.remoting.RemotingConfiguration;
-import org.jboss.messaging.core.remoting.impl.RemotingConfigurationImpl;
 import org.jboss.messaging.core.remoting.impl.mina.MinaService;
 import org.jboss.test.messaging.jms.JMSTestCase;
 
@@ -51,7 +50,7 @@
    // Constants -----------------------------------------------------
 
    private MinaService minaService;
-   private RemotingConfiguration originalRemotingConf;
+   private Configuration originalConfig;
    private NetworkFailureFilter networkFailureFilter;
 
    // Static --------------------------------------------------------
@@ -72,16 +71,15 @@
 
       minaService = (MinaService) servers.get(0).getMessagingServer()
             .getRemotingService();
-      originalRemotingConf = minaService.getRemotingConfiguration();
+      originalConfig = minaService.getConfiguration();
       minaService.stop();
-      RemotingConfiguration oldRemotingConfig = minaService
-            .getRemotingConfiguration();
-      RemotingConfigurationImpl newRemotingConfig = new RemotingConfigurationImpl(
-            oldRemotingConfig);
-      newRemotingConfig.setInvmDisabled(true);
-      newRemotingConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
-      newRemotingConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
-      minaService.setRemotingConfiguration(newRemotingConfig);
+      Configuration oldConfig = minaService
+            .getConfiguration();
+      Configuration newConfig = oldConfig;
+      newConfig.setInvmDisabled(true);
+      newConfig.setKeepAliveInterval(KEEP_ALIVE_INTERVAL);
+      newConfig.setKeepAliveTimeout(KEEP_ALIVE_TIMEOUT);
+      minaService.setRemotingConfiguration(newConfig);
       minaService.start();
 
       networkFailureFilter = new NetworkFailureFilter();
@@ -99,7 +97,7 @@
       minaService.getFilterChain().remove("network-failure");
 
       minaService.stop();
-      minaService.setRemotingConfiguration(originalRemotingConf);
+      minaService.setRemotingConfiguration(originalConfig);
       minaService.start();
 
       super.tearDown();

Modified: trunk/tests/src/org/jboss/test/messaging/tools/ConfigurationHelper.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/ConfigurationHelper.java	2008-04-04 03:07:08 UTC (rev 4004)
+++ trunk/tests/src/org/jboss/test/messaging/tools/ConfigurationHelper.java	2008-04-04 08:56:32 UTC (rev 4005)
@@ -29,7 +29,8 @@
 
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
 import org.jboss.kernel.spi.dependency.KernelControllerContextAware;
-import org.jboss.messaging.core.server.Configuration;
+import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.impl.ConfigurationImpl;
 import org.jboss.test.messaging.tools.container.JBMPropertyKernelConfig;
 
 /**
@@ -69,7 +70,7 @@
    {
       JBMPropertyKernelConfig config = (JBMPropertyKernelConfig) kernelControllerContext.getKernel().getConfig();
       HashMap<String, Object> configuration = configs.get(config.getServerID());
-      Configuration actualConfiguration = (Configuration) kernelControllerContext.getKernel().getRegistry().getEntry("Configuration").getTarget();
+      ConfigurationImpl actualConfiguration = (ConfigurationImpl) kernelControllerContext.getKernel().getRegistry().getEntry("Configuration").getTarget();
       actualConfiguration.setMessagingServerID(config.getServerID());
       actualConfiguration.setPort(actualConfiguration.getPort() + config.getServerID());
       alterConfig(actualConfiguration, configuration);




More information about the jboss-cvs-commits mailing list