[jboss-cvs] JBoss Messaging SVN: r4220 - in trunk: src/config and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri May 16 10:05:29 EDT 2008
Author: ataylor
Date: 2008-05-16 10:05:29 -0400 (Fri, 16 May 2008)
New Revision: 4220
Modified:
trunk/build-messaging.xml
trunk/src/config/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/remoting/ConnectorRegistry.java
trunk/src/main/org/jboss/messaging/core/remoting/NIOConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
trunk/tests/src/org/jboss/messaging/tests/integration/CoreClientTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectorRegistryTest.java
Log:
fixed bug with multiple connections. we were creating multiple dispatchers for each connector instead of reusing the same one. also changed journal dir to be 'data'
Modified: trunk/build-messaging.xml
===================================================================
--- trunk/build-messaging.xml 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/build-messaging.xml 2008-05-16 14:05:29 UTC (rev 4220)
@@ -488,14 +488,6 @@
<include name="messaging.truststore"/>
</fileset>
</copy>
- <replace file="${build.distro.config.dir}/jbm-configuration.xml">
- <replacetoken id="token"><![CDATA[${user.home}/jbm-test/data/bindings]]></replacetoken>
- <replacevalue id="value">../data/bindings</replacevalue>
- </replace>
- <replace file="${build.distro.config.dir}/jbm-configuration.xml">
- <replacetoken id="token"><![CDATA[${user.home}/jbm-test/data/journal]]></replacetoken>
- <replacevalue id="value">../data/journal</replacevalue>
- </replace>
<copy todir="${build.distro.bin.dir}">
<fileset dir="${src.bin.dir}">
<include name="run.sh"/>
Modified: trunk/src/config/jbm-configuration.xml
===================================================================
--- trunk/src/config/jbm-configuration.xml 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/config/jbm-configuration.xml 2008-05-16 14:05:29 UTC (rev 4220)
@@ -22,7 +22,7 @@
<remoting-host>localhost</remoting-host>
<!-- timeout in seconds -->
- <remoting-timeout>5</remoting-timeout>
+ <remoting-timeout>50000</remoting-timeout>
<!-- true to disable invm communication when the client and the server are in the same JVM. -->
<!-- it is not allowed to disable invm communication when the remoting-transport is set to INVM -->
@@ -61,11 +61,11 @@
<!-- Storage configuration -->
- <bindings-directory>${user.home}/jbm-test/data/bindings</bindings-directory>
+ <bindings-directory>data/bindings</bindings-directory>
<create-bindings-dir>true</create-bindings-dir>
- <journal-directory>${user.home}/jbm-test/data/journal</journal-directory>
+ <journal-directory>data/journal</journal-directory>
<create-journal-dir>true</create-journal-dir>
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -65,8 +65,6 @@
private final Location location;
private final ConnectionParams connectionParams;
-
- private final PacketDispatcher dispatcher;
private final boolean strictTck;
@@ -94,7 +92,6 @@
this.defaultConsumerMaxRate = defaultConsumerMaxRate;
this.defaultProducerWindowSize = defaultProducerWindowSize;
this.defaultProducerMaxRate = defaultProducerMaxRate;
- this.dispatcher = new PacketDispatcherImpl(null);
this.connectionParams = connectionParams;
}
@@ -115,7 +112,6 @@
this.defaultConsumerMaxRate = -1;
this.defaultProducerWindowSize = 1000;
this.defaultProducerMaxRate = -1;
- this.dispatcher = new PacketDispatcherImpl(null);
this.location = location;
this.connectionParams = connectionParams;
}
@@ -132,7 +128,7 @@
RemotingConnection remotingConnection = null;
try
{
- remotingConnection = new RemotingConnectionImpl(location, connectionParams, dispatcher);
+ remotingConnection = new RemotingConnectionImpl(location, connectionParams);
remotingConnection.start();
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -68,19 +68,17 @@
private RemotingSessionListener listener;
- private transient PacketDispatcher dispatcher;
+ //private transient PacketDispatcher dispatcher;
// Constructors ---------------------------------------------------------------------------------
- public RemotingConnectionImpl(final Location location, ConnectionParams connectionParams, final PacketDispatcher dispatcher) throws Exception
+ public RemotingConnectionImpl(final Location location, ConnectionParams connectionParams) throws Exception
{
assert location != null;
- assert dispatcher != null;
assert connectionParams != null;
this.location = location;
this.connectionParams = connectionParams;
- this.dispatcher = dispatcher;
log.trace(this + " created with configuration " + location);
}
@@ -93,7 +91,7 @@
{
if (log.isTraceEnabled()) { log.trace(this + " started remoting connection"); }
- connector = REGISTRY.getConnector(location, connectionParams, dispatcher);
+ connector = REGISTRY.getConnector(location, connectionParams);
session = connector.connect();
if (log.isDebugEnabled())
@@ -143,11 +141,11 @@
{
checkConnected();
- long handlerID = dispatcher.generateID();
+ long handlerID = connector.getDispatcher().generateID();
ResponseHandler handler = new ResponseHandler(handlerID);
- dispatcher.register(handler);
+ connector.getDispatcher().register(handler);
try
{
@@ -186,7 +184,7 @@
}
finally
{
- dispatcher.unregister(handlerID);
+ connector.getDispatcher().unregister(handlerID);
}
}
@@ -229,7 +227,7 @@
public PacketDispatcher getPacketDispatcher()
{
- return dispatcher;
+ return connector.getDispatcher();
}
public Location getLocation()
Modified: trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -45,7 +45,7 @@
*/
boolean unregister(Location location);
- NIOConnector getConnector(Location location, ConnectionParams connectionParams, PacketDispatcher dispatcher);
+ NIOConnector getConnector(Location location, ConnectionParams connectionParams);
/**
* Decrement the number of references on the NIOConnector corresponding to
Modified: trunk/src/main/org/jboss/messaging/core/remoting/NIOConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/NIOConnector.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/remoting/NIOConnector.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -27,4 +27,6 @@
void removeSessionListener(RemotingSessionListener listener);
String getServerURI();
+
+ PacketDispatcher getDispatcher();
}
\ No newline at end of file
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -84,7 +84,7 @@
return (dispatcher != null);
}
- public synchronized NIOConnector getConnector(Location location, ConnectionParams connectionParams, PacketDispatcher dispatcher)
+ public synchronized NIOConnector getConnector(Location location, ConnectionParams connectionParams)
{
assert location != null;
String key = location.getLocation();
@@ -125,12 +125,12 @@
if (transport == TCP)
{
- connector = new MinaConnector(location, connectionParams, dispatcher);
+ connector = new MinaConnector(location, connectionParams, new PacketDispatcherImpl(null));
}
else if (transport == INVM)
{
PacketDispatcher localDispatcher = localDispatchers.get(key);
- connector = new INVMConnector(idCounter.getAndIncrement(), dispatcher, localDispatcher);
+ connector = new INVMConnector(idCounter.getAndIncrement(), new PacketDispatcherImpl(null), localDispatcher);
}
if (connector == null)
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMConnector.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMConnector.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -73,7 +73,12 @@
{
return INVM + "://localhost";
}
-
+
+ public PacketDispatcher getDispatcher()
+ {
+ return clientDispatcher;
+ }
+
public void addSessionListener(RemotingSessionListener listener)
{
}
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-05-16 14:04:36 UTC (rev 4219)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -238,7 +238,12 @@
{
return location.getLocation() + connectionParams.getURI();
}
-
+
+ public PacketDispatcher getDispatcher()
+ {
+ return dispatcher;
+ }
+
// FailureNotifier implementation -------------------------------
public synchronized void fireCleanup(long sessionID, MessagingException me)
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/CoreClientTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/CoreClientTest.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/CoreClientTest.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -4,17 +4,11 @@
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.ClientMessage;
-import org.jboss.messaging.core.client.ClientProducer;
-import org.jboss.messaging.core.client.ClientSession;
-import org.jboss.messaging.core.client.Location;
-import org.jboss.messaging.core.client.MessageHandler;
+import org.jboss.messaging.core.client.*;
import org.jboss.messaging.core.client.impl.ClientConnectionFactoryImpl;
import org.jboss.messaging.core.client.impl.ClientMessageImpl;
import org.jboss.messaging.core.client.impl.LocationImpl;
+import org.jboss.messaging.core.client.impl.ConnectionParamsImpl;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.remoting.TransportType;
import org.jboss.messaging.core.server.impl.MessagingServerImpl;
@@ -85,7 +79,37 @@
conn.close();
}
-
+
+ public void testCoreClientMultipleConnections() throws Exception
+ {
+ Location location = new LocationImpl(TransportType.TCP, "localhost", ConfigurationImpl.DEFAULT_REMOTING_PORT);
+ ConnectionParams connectionParams = new ConnectionParamsImpl();
+ connectionParams.setTimeout(500000);
+ ClientConnectionFactory cf = new ClientConnectionFactoryImpl(location, connectionParams);
+ ClientConnection conn = cf.createConnection();
+
+ ClientConnectionFactory cf2 = new ClientConnectionFactoryImpl(location, connectionParams);
+ ClientConnection conn2 = cf2.createConnection();
+
+ ClientSession session = conn.createClientSession(false, true, true, -1, false, false);
+ session.createQueue(QUEUE, QUEUE, null, false, false);
+
+ ClientProducer producer = session.createProducer(QUEUE);
+
+ ClientMessage message = new ClientMessageImpl(JBossTextMessage.TYPE, false, 0,
+ System.currentTimeMillis(), (byte) 1);
+ message.getBody().putString("testINVMCoreClient");
+ producer.send(message);
+
+ ClientConsumer consumer = session.createConsumer(QUEUE);
+ conn.start();
+
+ message = consumer.receive(1000);
+
+ assertEquals("testINVMCoreClient", message.getBody().getString());
+
+ conn.close();
+ }
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectorRegistryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectorRegistryTest.java 2008-05-16 14:04:36 UTC (rev 4219)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/ConnectorRegistryTest.java 2008-05-16 14:05:29 UTC (rev 4220)
@@ -82,7 +82,7 @@
assertTrue(registry.unregister(config_1.getLocation()));
assertTrue(registry.unregister(config_2.getLocation()));
}
-
+
public void testINVMConnectorFromTCPConfiguration() throws Exception
{
Configuration config = ConfigurationHelper.newTCPConfiguration("localhost", PORT);
@@ -90,7 +90,7 @@
// config is registered -> client and server are in the same vm
assertTrue(registry.register(config.getLocation(), dispatcher));
- NIOConnector connector = registry.getConnector(config.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector = registry.getConnector(config.getLocation(), new ConnectionParamsImpl());
assertTrue(connector.getServerURI().startsWith(INVM.toString()));
@@ -106,7 +106,7 @@
// config is not registered -> client and server are not in the same vm
- NIOConnector connector = registry.getConnector(config.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector = registry.getConnector(config.getLocation(), new ConnectionParamsImpl());
assertNotNull(connector);
assertEquals(config.getURI(), connector.getServerURI());
@@ -119,10 +119,10 @@
Configuration config = ConfigurationHelper.newTCPConfiguration("localhost", PORT);
assertEquals(0, registry.getConnectorCount(config.getLocation()));
- NIOConnector connector1 = registry.getConnector(config.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector1 = registry.getConnector(config.getLocation(), new ConnectionParamsImpl());
assertEquals(1, registry.getConnectorCount(config.getLocation()));
- NIOConnector connector2 = registry.getConnector(config.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector2 = registry.getConnector(config.getLocation(), new ConnectionParamsImpl());
assertEquals(2, registry.getConnectorCount(config.getLocation()));
assertSame(connector1, connector2);
@@ -130,7 +130,7 @@
assertNull(registry.removeConnector(config.getLocation()));
assertEquals(1, registry.getConnectorCount(config.getLocation()));
- NIOConnector connector3 = registry.getConnector(config.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector3 = registry.getConnector(config.getLocation(), new ConnectionParamsImpl());
assertEquals(2, registry.getConnectorCount(config.getLocation()));
assertSame(connector1, connector3);
@@ -150,10 +150,10 @@
assertEquals(0, registry.getConnectorCount(config1.getLocation()));
assertEquals(0, registry.getConnectorCount(config2.getLocation()));
- NIOConnector connector1 = registry.getConnector(config1.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector1 = registry.getConnector(config1.getLocation(), new ConnectionParamsImpl());
assertEquals(1, registry.getConnectorCount(config1.getLocation()));
- NIOConnector connector2 = registry.getConnector(config2.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector2 = registry.getConnector(config2.getLocation(), new ConnectionParamsImpl());
assertEquals(1, registry.getConnectorCount(config2.getLocation()));
assertNotSame(connector1, connector2);
@@ -173,10 +173,10 @@
assertNotSame(config1, config2);
- NIOConnector connector1 = registry.getConnector(config1.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector1 = registry.getConnector(config1.getLocation(), new ConnectionParamsImpl());
assertEquals(1, registry.getConnectorCount(config1.getLocation()));
- NIOConnector connector2 = registry.getConnector(config2.getLocation(), new ConnectionParamsImpl(), dispatcher);
+ NIOConnector connector2 = registry.getConnector(config2.getLocation(), new ConnectionParamsImpl());
assertEquals(2, registry.getConnectorCount(config2.getLocation()));
assertSame(connector1, connector2);
More information about the jboss-cvs-commits
mailing list