[jboss-cvs] JBoss Messaging SVN: r4896 - in trunk: src/config and 16 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Aug 29 10:48:39 EDT 2008
Author: timfox
Date: 2008-08-29 10:48:38 -0400 (Fri, 29 Aug 2008)
New Revision: 4896
Added:
trunk/src/main/org/jboss/messaging/core/config/TransportConfiguration.java
Removed:
trunk/src/main/org/jboss/messaging/core/config/AcceptorInfo.java
trunk/src/main/org/jboss/messaging/core/remoting/ConnectionRegistryLocator.java
Modified:
trunk/examples/messaging/src/org/jboss/messaging/example/SimpleExample.java
trunk/src/config/jbm-configuration.xml
trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionFactoryImpl.java
trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java
trunk/src/main/org/jboss/messaging/core/config/Configuration.java
trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectionRegistryImpl.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/TransportConstants.java
trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java
trunk/tests/config/ConfigurationTest-config.xml
trunk/tests/src/org/jboss/messaging/tests/integration/basic/CoreClientTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientCrashTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientExitTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/ssl/CoreClientOverSSLTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest2.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectionRegistryLocatorTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java
Log:
Added nio/oio param to netty transport, plus some work on replicating connection
Modified: trunk/examples/messaging/src/org/jboss/messaging/example/SimpleExample.java
===================================================================
--- trunk/examples/messaging/src/org/jboss/messaging/example/SimpleExample.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/examples/messaging/src/org/jboss/messaging/example/SimpleExample.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -27,7 +27,7 @@
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.message.Message;
@@ -54,7 +54,7 @@
//create a new server with an TCP transport
ConfigurationImpl configuration = new ConfigurationImpl();
configuration.setSecurityEnabled(false);
- configuration.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
+ configuration.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
messagingService = MessagingServiceImpl.newNullStorageMessagingServer(configuration);
//start the server
messagingService.start();
Modified: trunk/src/config/jbm-configuration.xml
===================================================================
--- trunk/src/config/jbm-configuration.xml 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/config/jbm-configuration.xml 2008-08-29 14:48:38 UTC (rev 4896)
@@ -29,6 +29,18 @@
</remoting-interceptors>
-->
+ <backup>false</backup>
+
+ <!--
+ <backup-connector>
+ <factory-class>org.jboss.messaging.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
+ <params>
+ <param key="jbm.remoting.netty.host" value="localhost" type="String"/>
+ <param key="jbm.remoting.netty.port" value="6400" type="Integer"/>
+ </params>
+ </backup-connector>
+ -->
+
<remoting-acceptors>
<!-- In VM acceptor -->
<acceptor>
@@ -45,8 +57,9 @@
<param key="jbm.remoting.netty.port" value="5400" type="Integer"/>
<param key="jbm.remoting.netty.tcpnodelay" value="true" type="Boolean"/>
<param key="jbm.remoting.netty.tcpsendbuffersize" value="32768" type="Integer"/>
- <param key="jbm.remoting.netty.tcpreceivebuffersize" value="32768" type="Integer"/>
- <param key="jbm.remoting.netty.sslenabled" value="false" type="Boolean"/>
+ <param key="jbm.remoting.netty.tcpreceivebuffersize" value="32768" type="Integer"/>
+ <param key="jbm.remoting.netty.usenio" value="true" type="Boolean"/>
+ <param key="jbm.remoting.netty.sslenabled" value="false" type="Boolean"/>
</params>
</acceptor>
<!-- Netty SSL Acceptor
@@ -57,7 +70,8 @@
<param key="jbm.remoting.netty.port" value="5500" type="Integer"/>
<param key="jbm.remoting.netty.tcpnodelay" value="true" type="Boolean"/>
<param key="jbm.remoting.netty.tcpsendbuffersize" value="32768" type="Integer"/>
- <param key="jbm.remoting.netty.tcpreceivebuffersize" value="32768" type="Integer"/>
+ <param key="jbm.remoting.netty.tcpreceivebuffersize" value="32768" type="Integer"/>
+ <param key="jbm.remoting.netty.usenio" value="true" type="Boolean"/>
<param key="jbm.remoting.netty.sslenabled" value="true" type="Boolean"/>
<param key="jbm.remoting.netty.keystorepath" value="messaging.keystore" type="String"/>
<param key="jbm.remoting.netty.keystorepassword" value="secureexample" type="String"/>
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionFactoryImpl.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionFactoryImpl.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -30,11 +30,11 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.remoting.CommandManager;
import org.jboss.messaging.core.remoting.ConnectionRegistry;
-import org.jboss.messaging.core.remoting.ConnectionRegistryLocator;
import org.jboss.messaging.core.remoting.Packet;
import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.RemotingConnection;
import org.jboss.messaging.core.remoting.impl.CommandManagerImpl;
+import org.jboss.messaging.core.remoting.impl.ConnectionRegistryImpl;
import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.wireformat.CreateSessionMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.CreateSessionResponseMessage;
@@ -137,7 +137,7 @@
this.blockOnAcknowledge = blockOnAcknowledge;
this.blockOnNonPersistentSend = blockOnNonPersistentSend;
this.blockOnPersistentSend = blockOnPersistentSend;
- this.connectionRegistry = ConnectionRegistryLocator.getRegistry();
+ this.connectionRegistry = ConnectionRegistryImpl.instance;
}
/**
@@ -156,7 +156,7 @@
blockOnAcknowledge = DEFAULT_BLOCK_ON_ACKNOWLEDGE;
blockOnPersistentSend = DEFAULT_BLOCK_ON_PERSISTENT_SEND;
blockOnNonPersistentSend = DEFAULT_BLOCK_ON_NON_PERSISTENT_SEND;
- this.connectionRegistry = ConnectionRegistryLocator.getRegistry();
+ this.connectionRegistry = ConnectionRegistryImpl.instance;
}
// ClientSessionFactory implementation ---------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -42,11 +42,11 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.remoting.CommandManager;
import org.jboss.messaging.core.remoting.ConnectionRegistry;
-import org.jboss.messaging.core.remoting.ConnectionRegistryLocator;
import org.jboss.messaging.core.remoting.FailureListener;
import org.jboss.messaging.core.remoting.Packet;
import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.RemotingConnection;
+import org.jboss.messaging.core.remoting.impl.ConnectionRegistryImpl;
import org.jboss.messaging.core.remoting.impl.wireformat.ConsumerFlowCreditMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.PacketImpl;
import org.jboss.messaging.core.remoting.impl.wireformat.SessionAcknowledgeMessage;
@@ -227,7 +227,7 @@
this.version = version;
- this.connectionRegistry = ConnectionRegistryLocator.getRegistry();
+ this.connectionRegistry = ConnectionRegistryImpl.instance;
}
// ClientSession implementation
Deleted: trunk/src/main/org/jboss/messaging/core/config/AcceptorInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/AcceptorInfo.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/config/AcceptorInfo.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -1,76 +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.config;
-
-import java.io.Serializable;
-import java.util.Map;
-
-/**
- * An AcceptorInfo
- *
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- *
- */
-public class AcceptorInfo implements Serializable
-{
- private static final long serialVersionUID = -3994528421527392679L;
-
- private final String factoryClassName;
-
- private final Map<String, Object> params;
-
- public AcceptorInfo(final String className, final Map<String, Object> params)
- {
- this.factoryClassName = className;
-
- this.params = params;
- }
-
- public AcceptorInfo(final String className)
- {
- this.factoryClassName = className;
-
- this.params = null;
- }
-
- public String getFactoryClassName()
- {
- return factoryClassName;
- }
-
- public Map<String, Object> getParams()
- {
- return params;
- }
-
- public boolean equals(Object other)
- {
- if (other instanceof AcceptorInfo == false)
- {
- return false;
- }
-
- AcceptorInfo ai = (AcceptorInfo)other;
-
- return this.factoryClassName.equals(ai.factoryClassName);
- }
-}
Modified: trunk/src/main/org/jboss/messaging/core/config/Configuration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/Configuration.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/config/Configuration.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -82,12 +82,14 @@
long getConnectionScanPeriod();
void setConnectionScanPeriod(long scanPeriod);
+
+ Set<TransportConfiguration> getAcceptorConfigurations();
- // Remoting related attributes ----------------------------------------------------------
-
- Set<AcceptorInfo> getAcceptorInfos();
+ void setAcceptorConfigurations(Set<TransportConfiguration> infos);
- void setAcceptorInfos(Set<AcceptorInfo> infos);
+ TransportConfiguration getBackupConnectorConfiguration();
+
+ void setBackupConnectorConfiguration(TransportConfiguration config);
// Journal related attributes ------------------------------------------------------------
Copied: trunk/src/main/org/jboss/messaging/core/config/TransportConfiguration.java (from rev 4888, trunk/src/main/org/jboss/messaging/core/config/AcceptorInfo.java)
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/TransportConfiguration.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/config/TransportConfiguration.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -0,0 +1,76 @@
+/*
+ * 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;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * A TransportConfiguration
+ *
+ * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
+ *
+ */
+public class TransportConfiguration implements Serializable
+{
+ private static final long serialVersionUID = -3994528421527392679L;
+
+ private final String factoryClassName;
+
+ private final Map<String, Object> params;
+
+ public TransportConfiguration(final String className, final Map<String, Object> params)
+ {
+ this.factoryClassName = className;
+
+ this.params = params;
+ }
+
+ public TransportConfiguration(final String className)
+ {
+ this.factoryClassName = className;
+
+ this.params = null;
+ }
+
+ public String getFactoryClassName()
+ {
+ return factoryClassName;
+ }
+
+ public Map<String, Object> getParams()
+ {
+ return params;
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other instanceof TransportConfiguration == false)
+ {
+ return false;
+ }
+
+ TransportConfiguration ai = (TransportConfiguration)other;
+
+ return this.factoryClassName.equals(ai.factoryClassName);
+ }
+}
Modified: trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/ConfigurationImpl.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -27,7 +27,7 @@
import java.util.List;
import java.util.Set;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.server.JournalType;
@@ -105,7 +105,13 @@
protected long connectionScanPeriod = DEFAULT_CONNECTION_SCAN_PERIOD;
+ protected List<String> interceptorClassNames = new ArrayList<String>();
+
+ protected Set<TransportConfiguration> acceptorConfigs = new HashSet<TransportConfiguration>();
+ protected TransportConfiguration backupConnectorConfig;
+
+
// Journal related attributes
protected String bindingsDirectory = DEFAULT_BINDINGS_DIRECTORY;
@@ -128,10 +134,7 @@
protected int journalMaxAIO = DEFAULT_JOURNAL_MAX_AIO;
- protected List<String> interceptorClassNames = new ArrayList<String>();
-
- protected Set<AcceptorInfo> acceptorInfos = new HashSet<AcceptorInfo>();
-
+
public boolean isClustered()
{
return clustered;
@@ -222,15 +225,25 @@
this.interceptorClassNames = interceptors;
}
- public Set<AcceptorInfo> getAcceptorInfos()
+ public Set<TransportConfiguration> getAcceptorConfigurations()
{
- return this.acceptorInfos;
+ return this.acceptorConfigs;
}
- public void setAcceptorInfos(Set<AcceptorInfo> infos)
+ public void setAcceptorConfigurations(Set<TransportConfiguration> infos)
{
- this.acceptorInfos = infos;
+ this.acceptorConfigs = infos;
}
+
+ public TransportConfiguration getBackupConnectorConfiguration()
+ {
+ return backupConnectorConfig;
+ }
+
+ public void setBackupConnectorConfiguration(TransportConfiguration config)
+ {
+ this.backupConnectorConfig = config;
+ }
public String getBindingsDirectory()
{
Modified: trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/config/impl/FileConfiguration.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -29,7 +29,7 @@
import java.util.HashMap;
import java.util.Map;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.server.JournalType;
import org.jboss.messaging.util.XMLUtil;
@@ -110,6 +110,100 @@
}
this.interceptorClassNames = interceptorList;
+ NodeList backups = e.getElementsByTagName("backup-connector");
+
+ //TODO combine all these duplicated transport config parsing code - it's messy!
+ if (backups.getLength() > 0)
+ {
+ Node backup = backups.item(0);
+
+ NodeList children = backup.getChildNodes();
+
+ String clazz = null;
+
+ Map<String, Object> params = new HashMap<String, Object>();
+
+ for (int l = 0; l < children.getLength(); l++)
+ {
+ String nodeName = children.item(l).getNodeName();
+
+ if ("factory-class".equalsIgnoreCase(nodeName))
+ {
+ clazz = children.item(l).getTextContent();
+ }
+ else if ("params".equalsIgnoreCase(nodeName))
+ {
+ NodeList nlParams = children.item(l).getChildNodes();
+
+ for (int m = 0; m < nlParams.getLength(); m++)
+ {
+ if ("param".equalsIgnoreCase(nlParams.item(m).getNodeName()))
+ {
+ Node paramNode = nlParams.item(m);
+
+ NamedNodeMap attributes = paramNode.getAttributes();
+
+ Node nkey = attributes.getNamedItem("key");
+
+ String key = nkey.getTextContent();
+
+ Node nValue = attributes.getNamedItem("value");
+
+ String value = nValue.getTextContent();
+
+ Node nType = attributes.getNamedItem("type");
+
+ String type = nType.getTextContent();
+
+ if (type.equalsIgnoreCase("Integer"))
+ {
+ try
+ {
+ Integer iVal = Integer.parseInt(value);
+
+ params.put(key, iVal);
+ }
+ catch (NumberFormatException e2)
+ {
+ throw new IllegalArgumentException("Remoting acceptor parameter " + value + " is not a valid Integer");
+ }
+ }
+ else if (type.equalsIgnoreCase("Long"))
+ {
+ try
+ {
+ Long lVal = Long.parseLong(value);
+
+ params.put(key, lVal);
+ }
+ catch (NumberFormatException e2)
+ {
+ throw new IllegalArgumentException("Remoting acceptor parameter " + value + " is not a valid Long");
+ }
+ }
+ else if (type.equalsIgnoreCase("String"))
+ {
+ params.put(key, value);
+ }
+ else if (type.equalsIgnoreCase("Boolean"))
+ {
+ Boolean lVal = Boolean.parseBoolean(value);
+
+ params.put(key, lVal);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Invalid parameter type " + type);
+ }
+ }
+ }
+ }
+
+ this.backupConnectorConfig = new TransportConfiguration(clazz, params);
+ }
+
+ }
+
NodeList acceptorNodes = e.getElementsByTagName("remoting-acceptors");
if (acceptorNodes.getLength() > 0)
@@ -203,9 +297,9 @@
}
}
- AcceptorInfo info = new AcceptorInfo(clazz, params);
+ TransportConfiguration info = new TransportConfiguration(clazz, params);
- acceptorInfos.add(info);
+ acceptorConfigs.add(info);
}
}
}
Deleted: trunk/src/main/org/jboss/messaging/core/remoting/ConnectionRegistryLocator.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectionRegistryLocator.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectionRegistryLocator.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
- * 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.remoting;
-
-import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.impl.ConnectionRegistryImpl;
-
-/**
- *
- * A ConnectionRegistryLocator
- *
- * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- *
- */
-public class ConnectionRegistryLocator
-{
- private static final Logger log = Logger.getLogger(ConnectionRegistryLocator.class);
-
- public static final String CONNECTOR_FACTORIES_PROPS_FILE_NAME = "jbm-connector-factories.properties";
-
- private static final ConnectionRegistry registry = new ConnectionRegistryImpl();
-
- public static ConnectionRegistry getRegistry()
- {
- return registry;
- }
-}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectionRegistryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectionRegistryImpl.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectionRegistryImpl.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -61,6 +61,8 @@
new ScheduledThreadPoolExecutor(10, new JBMThreadFactory("jbm-pinger-threads"));
// Static --------------------------------------------------------
+
+ public static ConnectionRegistry instance = new ConnectionRegistryImpl();
// ConnectionRegistry implementation -----------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -31,7 +31,7 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
@@ -63,7 +63,7 @@
private volatile boolean started = false;
- private final Set<AcceptorInfo> acceptorInfos;
+ private final Set<TransportConfiguration> transportConfigs;
private Set<Acceptor> acceptors = new HashSet<Acceptor>();
@@ -97,7 +97,7 @@
final long callTimeout = config.getCallTimeout();
- this.acceptorInfos = config.getAcceptorInfos();
+ this.transportConfigs = config.getAcceptorConfigurations();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
for (String interceptorClass : config.getInterceptorClassNames())
@@ -129,7 +129,7 @@
ClassLoader loader = Thread.currentThread().getContextClassLoader();
- for (AcceptorInfo info: acceptorInfos)
+ for (TransportConfiguration info: transportConfigs)
{
try
{
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -32,6 +32,7 @@
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_TCP_SENDBUFFER_SIZE;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_TRUSTSTORE_PASSWORD;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_TRUSTSTORE_PATH;
+import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_USE_NIO;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.HOST_PROP_NAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.KEYSTORE_PASSWORD_PROP_NAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.KEYSTORE_PATH_PROP_NAME;
@@ -42,6 +43,7 @@
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.TCP_SENDBUFFER_SIZE_PROPNAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.TRUSTSTORE_PASSWORD_PROP_NAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.TRUSTSTORE_PATH_PROP_NAME;
+import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.USE_NIO_PROP_NAME;
import static org.jboss.netty.channel.Channels.pipeline;
import java.net.InetSocketAddress;
@@ -70,6 +72,7 @@
import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.channel.ChannelStateEvent;
import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;
+import org.jboss.netty.channel.socket.oio.OioServerSocketChannelFactory;
import org.jboss.netty.handler.ssl.SslHandler;
/**
@@ -97,6 +100,8 @@
private final boolean sslEnabled;
+ private final boolean useNio;
+
private final String host;
private final int port;
@@ -124,6 +129,8 @@
this.sslEnabled =
ConfigurationHelper.getBooleanProperty(SSL_ENABLED_PROP_NAME, DEFAULT_SSL_ENABLED, configuration);
+ this.useNio =
+ ConfigurationHelper.getBooleanProperty(USE_NIO_PROP_NAME, DEFAULT_USE_NIO, configuration);
this.host =
ConfigurationHelper.getStringProperty(HOST_PROP_NAME, DEFAULT_HOST, configuration);
this.port =
@@ -166,7 +173,14 @@
bossExecutor = Executors.newCachedThreadPool();
workerExecutor = Executors.newCachedThreadPool();
- channelFactory = new NioServerSocketChannelFactory(bossExecutor, workerExecutor);
+ if (useNio)
+ {
+ channelFactory = new NioServerSocketChannelFactory(bossExecutor, workerExecutor);
+ }
+ else
+ {
+ channelFactory = new OioServerSocketChannelFactory(bossExecutor, workerExecutor);
+ }
bootstrap = new ServerBootstrap(channelFactory);
final SSLContext context;
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -29,6 +29,7 @@
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_TCP_NODELAY;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_TCP_RECEIVEBUFFER_SIZE;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_TCP_SENDBUFFER_SIZE;
+import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.DEFAULT_USE_NIO;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.HOST_PROP_NAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.KEYSTORE_PASSWORD_PROP_NAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.KEYSTORE_PATH_PROP_NAME;
@@ -37,6 +38,7 @@
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.TCP_NODELAY_PROPNAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.TCP_RECEIVEBUFFER_SIZE_PROPNAME;
import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.TCP_SENDBUFFER_SIZE_PROPNAME;
+import static org.jboss.messaging.core.remoting.impl.netty.TransportConstants.USE_NIO_PROP_NAME;
import static org.jboss.netty.channel.Channels.pipeline;
import java.net.InetSocketAddress;
@@ -63,6 +65,7 @@
import org.jboss.netty.channel.ChannelPipelineCoverage;
import org.jboss.netty.channel.ChannelPipelineFactory;
import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;
+import org.jboss.netty.channel.socket.oio.OioClientSocketChannelFactory;
import org.jboss.netty.handler.ssl.SslHandler;
/**
@@ -91,6 +94,8 @@
private final boolean sslEnabled;
+ private final boolean useNio;
+
private final String host;
private final int port;
@@ -130,6 +135,8 @@
this.sslEnabled =
ConfigurationHelper.getBooleanProperty(SSL_ENABLED_PROP_NAME, DEFAULT_SSL_ENABLED, configuration);
+ this.useNio =
+ ConfigurationHelper.getBooleanProperty(USE_NIO_PROP_NAME, DEFAULT_USE_NIO, configuration);
this.host =
ConfigurationHelper.getStringProperty(HOST_PROP_NAME, DEFAULT_HOST, configuration);
this.port =
@@ -163,9 +170,16 @@
return;
}
- bossExecutor = Executors.newCachedThreadPool();
workerExecutor = Executors.newCachedThreadPool();
- channelFactory = new NioClientSocketChannelFactory(bossExecutor, workerExecutor);
+ if (useNio)
+ {
+ bossExecutor = Executors.newCachedThreadPool();
+ channelFactory = new NioClientSocketChannelFactory(bossExecutor, workerExecutor);
+ }
+ else
+ {
+ channelFactory = new OioClientSocketChannelFactory(workerExecutor);
+ }
bootstrap = new ClientBootstrap(channelFactory);
bootstrap.setOption("tcpNoDelay", tcpNoDelay);
@@ -225,23 +239,28 @@
bootstrap = null;
channelFactory = null;
- bossExecutor.shutdown();
+ if (bossExecutor != null)
+ {
+ bossExecutor.shutdown();
+ }
workerExecutor.shutdown();
-
- for (;;)
+ if (bossExecutor != null)
{
- try
+ for (;;)
{
- if (bossExecutor.awaitTermination(1, TimeUnit.SECONDS))
+ try
{
- break;
+ if (bossExecutor.awaitTermination(1, TimeUnit.SECONDS))
+ {
+ break;
+ }
}
+ catch (InterruptedException e)
+ {
+ // Ignore
+ }
}
- catch (InterruptedException e)
- {
- // Ignore
- }
- }
+ }
}
public Connection createConnection()
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/TransportConstants.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/TransportConstants.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/TransportConstants.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -31,6 +31,8 @@
{
public static final String SSL_ENABLED_PROP_NAME = "jbm.remoting.netty.sslenabled";
+ public static final String USE_NIO_PROP_NAME = "jbm.remoting.netty.usenio";
+
public static final String HOST_PROP_NAME = "jbm.remoting.netty.host";
public static final String PORT_PROP_NAME = "jbm.remoting.netty.port";
@@ -51,6 +53,8 @@
public static final boolean DEFAULT_SSL_ENABLED = false;
+ public static final boolean DEFAULT_USE_NIO = true;
+
public static final String DEFAULT_HOST = "localhost";
public static final int DEFAULT_PORT = 5400;
Modified: trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/server/MessagingServer.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -96,4 +96,6 @@
int getConnectionCount();
PostOffice getPostOffice();
+
+ RemotingConnection getReplicatingConnection();
}
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerImpl.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -32,6 +32,7 @@
import java.util.concurrent.ScheduledThreadPoolExecutor;
import org.jboss.messaging.core.config.Configuration;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.management.ManagementService;
@@ -40,11 +41,14 @@
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.postoffice.impl.PostOfficeImpl;
import org.jboss.messaging.core.remoting.CommandManager;
+import org.jboss.messaging.core.remoting.ConnectionRegistry;
import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.RemotingConnection;
import org.jboss.messaging.core.remoting.RemotingService;
import org.jboss.messaging.core.remoting.impl.CommandManagerImpl;
+import org.jboss.messaging.core.remoting.impl.ConnectionRegistryImpl;
import org.jboss.messaging.core.remoting.impl.wireformat.CreateSessionResponseMessage;
+import org.jboss.messaging.core.remoting.spi.ConnectorFactory;
import org.jboss.messaging.core.security.JBMSecurityManager;
import org.jboss.messaging.core.security.Role;
import org.jboss.messaging.core.security.SecurityStore;
@@ -100,6 +104,7 @@
private MessagingServerPacketHandler serverPacketHandler;
private MessagingServerControlMBean serverManagement;
private PacketDispatcher dispatcher;
+ private RemotingConnection replicatingConnection;
// plugins
@@ -194,7 +199,28 @@
postOffice.start();
postOffice.setBackup(configuration.isBackup());
- serverPacketHandler = new MessagingServerPacketHandler(this, remotingService);
+ serverPacketHandler = new MessagingServerPacketHandler(this, remotingService);
+
+ TransportConfiguration backupConnector = configuration.getBackupConnectorConfiguration();
+
+ if (backupConnector != null)
+ {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Class<?> clz = loader.loadClass(backupConnector.getFactoryClassName());
+ ConnectorFactory connectorFactory = (ConnectorFactory) clz.newInstance();
+ ConnectionRegistry registry = ConnectionRegistryImpl.instance;
+ //TODO don't hardcode ping interval and call timeout here
+ this.replicatingConnection =
+ registry.getConnection(connectorFactory, backupConnector.getParams(),
+ 5000, 30000);
+ }
+ catch (Exception e)
+ {
+ throw new IllegalArgumentException("Error instantiating interceptor \"" + backupConnector.getFactoryClassName() + "\"", e);
+ }
+ }
//Register the handler as the last thing - since after that users will be able to connect
started = true;
@@ -208,7 +234,11 @@
return;
}
- dispatcher.unregister(serverPacketHandler.getID());
+ dispatcher.unregister(serverPacketHandler.getID());
+ if (this.replicatingConnection != null)
+ {
+ ConnectionRegistryImpl.instance.returnConnection(replicatingConnection.getID());
+ }
securityStore = null;
postOffice.stop();
postOffice = null;
@@ -405,6 +435,11 @@
{
return postOffice;
}
+
+ public RemotingConnection getReplicatingConnection()
+ {
+ return replicatingConnection;
+ }
// Public ---------------------------------------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -76,6 +76,7 @@
{
if (type == PING)
{
+ //The pong param is left as a placeholder
response = new Pong(-1);
}
else if (type == PacketImpl.CREATESESSION)
Modified: trunk/tests/config/ConfigurationTest-config.xml
===================================================================
--- trunk/tests/config/ConfigurationTest-config.xml 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/config/ConfigurationTest-config.xml 2008-08-29 14:48:38 UTC (rev 4896)
@@ -13,6 +13,15 @@
<class-name>org.jboss.messaging.tests.unit.core.config.impl.TestInterceptor1</class-name>
<class-name>org.jboss.messaging.tests.unit.core.config.impl.TestInterceptor2</class-name>
</remoting-interceptors>
+ <backup-connector>
+ <factory-class>org.jboss.messaging.tests.unit.core.config.impl.TestConnectorFactory1</factory-class>
+ <params>
+ <param key="c_mykey1" value="c_foovalue1" type="String"/>
+ <param key="c_mykey2" value="6000" type="Long"/>
+ <param key="c_mykey3" value="60" type="Integer"/>
+ <param key="c_mykey4" value="c_foovalue4" type="String"/>
+ </params>
+ </backup-connector>
<remoting-acceptors>
<acceptor>
<factory-class>org.jboss.messaging.tests.unit.core.config.impl.TestAcceptorFactory1</factory-class>
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/basic/CoreClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/basic/CoreClientTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/basic/CoreClientTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -30,7 +30,7 @@
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.logging.Logger;
@@ -74,7 +74,7 @@
conf.setSecurityEnabled(false);
- conf.getAcceptorInfos().add(new AcceptorInfo(acceptorFactoryClassName));
+ conf.getAcceptorConfigurations().add(new TransportConfiguration(acceptorFactoryClassName));
MessagingService messagingService = MessagingServiceImpl.newNullStorageMessagingServer(conf);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientCrashTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientCrashTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientCrashTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -30,7 +30,7 @@
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.message.Message;
@@ -140,7 +140,7 @@
ConfigurationImpl config = new ConfigurationImpl();
config.setSecurityEnabled(false);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
messagingService = MessagingServiceImpl.newNullStorageMessagingServer(config);
messagingService.start();
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientExitTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientExitTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/clientcrash/ClientExitTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -28,7 +28,7 @@
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.message.Message;
@@ -101,7 +101,7 @@
{
ConfigurationImpl config = new ConfigurationImpl();
config.setSecurityEnabled(false);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
messagingService = MessagingServiceImpl.newNullStorageMessagingServer(config);
messagingService.start();
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/remoting/PingTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -28,16 +28,16 @@
import junit.framework.TestCase;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.remoting.ConnectionRegistry;
-import org.jboss.messaging.core.remoting.ConnectionRegistryLocator;
import org.jboss.messaging.core.remoting.FailureListener;
import org.jboss.messaging.core.remoting.Interceptor;
import org.jboss.messaging.core.remoting.Packet;
import org.jboss.messaging.core.remoting.RemotingConnection;
+import org.jboss.messaging.core.remoting.impl.ConnectionRegistryImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl;
import org.jboss.messaging.core.remoting.impl.netty.NettyConnectorFactory;
import org.jboss.messaging.core.remoting.impl.wireformat.PacketImpl;
@@ -74,7 +74,7 @@
protected void setUp() throws Exception
{
ConfigurationImpl config = new ConfigurationImpl();
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory"));
messagingService = MessagingServiceImpl.newNullStorageMessagingServer(config);
messagingService.start();
}
@@ -108,7 +108,7 @@
ConnectorFactory cf = new NettyConnectorFactory();
Map<String, Object> params = new HashMap<String, Object>();
- ConnectionRegistry registry = ConnectionRegistryLocator.getRegistry();
+ ConnectionRegistry registry = ConnectionRegistryImpl.instance;
RemotingConnection conn = registry.getConnection(cf, params, PING_INTERVAL, 5000);
assertNotNull(conn);
@@ -149,7 +149,7 @@
ConnectorFactory cf = new NettyConnectorFactory();
Map<String, Object> params = new HashMap<String, Object>();
- ConnectionRegistry registry = ConnectionRegistryLocator.getRegistry();
+ ConnectionRegistry registry = ConnectionRegistryImpl.instance;
RemotingConnection conn = registry.getConnection(cf, params, -1, 5000);
assertNotNull(conn);
@@ -189,7 +189,7 @@
ConnectorFactory cf = new NettyConnectorFactory();
Map<String, Object> params = new HashMap<String, Object>();
- ConnectionRegistry registry = ConnectionRegistryLocator.getRegistry();
+ ConnectionRegistry registry = ConnectionRegistryImpl.instance;
RemotingConnectionImpl conn = (RemotingConnectionImpl)registry.getConnection(cf, params, PING_INTERVAL, 5000);
assertEquals(1, registry.getCount(cf, params));
@@ -268,7 +268,7 @@
ConnectorFactory cf = new NettyConnectorFactory();
Map<String, Object> params = new HashMap<String, Object>();
- ConnectionRegistry registry = ConnectionRegistryLocator.getRegistry();
+ ConnectionRegistry registry = ConnectionRegistryImpl.instance;
RemotingConnection conn = registry.getConnection(cf, params, PING_INTERVAL, 5000);
assertNotNull(conn);
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/ssl/CoreClientOverSSLTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/ssl/CoreClientOverSSLTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/ssl/CoreClientOverSSLTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -33,7 +33,7 @@
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.message.Message;
@@ -132,7 +132,7 @@
// config.setSecurityEnabled(false);
// Map<String, Object> params = new HashMap<String, Object>();
// params.put(TransportConstants.SSL_ENABLED_PROP_NAME, true);
-// config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory", params));
+// config.getAcceptorInfos().add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.netty.NettyAcceptorFactory", params));
// messagingService = MessagingServiceImpl.newNullStorageMessagingServer(config);
// messagingService.start();
// ConnectorFactory cf = new NettyConnectorFactory();
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -24,7 +24,7 @@
import java.util.Map;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.impl.FileConfiguration;
@@ -60,14 +60,51 @@
assertEquals(2, conf.getInterceptorClassNames().size());
assertTrue(conf.getInterceptorClassNames().contains("org.jboss.messaging.tests.unit.core.config.impl.TestInterceptor1"));
assertTrue(conf.getInterceptorClassNames().contains("org.jboss.messaging.tests.unit.core.config.impl.TestInterceptor2"));
- assertEquals(2, conf.getAcceptorInfos().size());
- for (AcceptorInfo info: conf.getAcceptorInfos())
+
+ assertNotNull(conf.getBackupConnectorConfiguration());
+ assertEquals("org.jboss.messaging.tests.unit.core.config.impl.TestConnectorFactory1", conf.getBackupConnectorConfiguration().getFactoryClassName());
+ Map<String, Object> params = conf.getBackupConnectorConfiguration().getParams();
+ assertNotNull(params);
+ Object obj = params.get("c_mykey1");
+ assertNotNull(obj);
+ assertTrue(obj instanceof String);
{
+ String s = (String)obj;
+ assertEquals("c_foovalue1", s);
+ }
+
+ obj = params.get("c_mykey2");
+ assertNotNull(obj);
+ assertTrue(obj instanceof Long);
+ {
+ Long l = (Long)obj;
+ assertEquals(6000l, l.longValue());
+ }
+
+ obj = params.get("c_mykey3");
+ assertNotNull(obj);
+ assertTrue(obj instanceof Integer);
+ {
+ Integer i = (Integer)obj;
+ assertEquals(60, i.intValue());
+ }
+
+ obj = params.get("c_mykey4");
+ assertNotNull(obj);
+ assertTrue(obj instanceof String);
+ {
+ String s = (String)obj;
+ assertEquals("c_foovalue4", s);
+ }
+
+ assertEquals(2, conf.getAcceptorConfigurations().size());
+ for (TransportConfiguration info: conf.getAcceptorConfigurations())
+ {
if (info.getFactoryClassName().equals("org.jboss.messaging.tests.unit.core.config.impl.TestAcceptorFactory1"))
{
- Map<String, Object> params = info.getParams();
+ params = info.getParams();
- Object obj = params.get("a_mykey1");
+ obj = params.get("a_mykey1");
assertNotNull(obj);
assertTrue(obj instanceof String);
{
@@ -101,9 +138,9 @@
}
else if (info.getFactoryClassName().equals("org.jboss.messaging.tests.unit.core.config.impl.TestAcceptorFactory2"))
{
- Map<String, Object> params = info.getParams();
+ params = info.getParams();
- Object obj = params.get("b_mykey1");
+ obj = params.get("b_mykey1");
assertNotNull(obj);
assertTrue(obj instanceof String);
{
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest2.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest2.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/config/impl/FileConfigurationTest2.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -58,7 +58,7 @@
assertEquals(ConfigurationImpl.DEFAULT_JOURNAL_MAX_AIO, conf.getJournalMaxAIO());
assertEquals(0, conf.getInterceptorClassNames().size());
- assertEquals(0, conf.getAcceptorInfos().size());
+ assertEquals(0, conf.getAcceptorConfigurations().size());
}
// Protected ---------------------------------------------------------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectionRegistryLocatorTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectionRegistryLocatorTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectionRegistryLocatorTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -22,7 +22,6 @@
package org.jboss.messaging.tests.unit.core.remoting;
import org.jboss.messaging.core.remoting.ConnectionRegistry;
-import org.jboss.messaging.core.remoting.ConnectionRegistryLocator;
import org.jboss.messaging.core.remoting.impl.ConnectionRegistryImpl;
import org.jboss.messaging.tests.util.UnitTestCase;
@@ -37,9 +36,9 @@
{
public void testSingleton()
{
- ConnectionRegistry reg1 = ConnectionRegistryLocator.getRegistry();
+ ConnectionRegistry reg1 = ConnectionRegistryImpl.instance;
- ConnectionRegistry reg2 = ConnectionRegistryLocator.getRegistry();
+ ConnectionRegistry reg2 = ConnectionRegistryImpl.instance;
assertTrue(reg1 == reg2);
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java 2008-08-29 10:06:45 UTC (rev 4895)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java 2008-08-29 14:48:38 UTC (rev 4896)
@@ -25,7 +25,7 @@
import java.util.List;
import org.easymock.EasyMock;
-import org.jboss.messaging.core.config.AcceptorInfo;
+import org.jboss.messaging.core.config.TransportConfiguration;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.exception.MessagingException;
@@ -50,7 +50,7 @@
{
final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
TestAcceptorFactory1.acceptor = acceptor;
RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
@@ -68,7 +68,7 @@
final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
TestAcceptorFactory1.acceptor = acceptor;
acceptor.start();
EasyMock.replay(acceptor);
@@ -85,7 +85,7 @@
final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
TestAcceptorFactory1.acceptor = acceptor;
acceptor.start();
acceptor.stop();
@@ -105,11 +105,11 @@
final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
TestAcceptorFactory1.acceptor = acceptor1;
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
TestAcceptorFactory2.acceptor = acceptor2;
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
TestAcceptorFactory3.acceptor = acceptor3;
acceptor1.start();
@@ -132,11 +132,11 @@
final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
TestAcceptorFactory1.acceptor = acceptor1;
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
TestAcceptorFactory2.acceptor = acceptor2;
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
TestAcceptorFactory3.acceptor = acceptor3;
acceptor1.start();
acceptor2.start();
@@ -163,11 +163,11 @@
final Acceptor acceptor4 = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory1"));
TestAcceptorFactory1.acceptor = acceptor1;
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory2"));
TestAcceptorFactory2.acceptor = acceptor2;
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory3"));
TestAcceptorFactory3.acceptor = acceptor3;
acceptor1.start();
acceptor2.start();
@@ -187,7 +187,7 @@
assertFalse(remotingService.isStarted());
EasyMock.reset(acceptor1, acceptor2, acceptor3);
- config.getAcceptorInfos().add(new AcceptorInfo("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory4"));
+ config.getAcceptorConfigurations().add(new TransportConfiguration("org.jboss.messaging.tests.unit.core.remoting.impl.TestAcceptorFactory4"));
TestAcceptorFactory4.acceptor = acceptor4;
acceptor1.start();
acceptor2.start();
More information about the jboss-cvs-commits
mailing list