[jboss-cvs] JBoss Messaging SVN: r3822 - in trunk: src/main/org/jboss/messaging/core/remoting and 12 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Feb 27 11:06:30 EST 2008
Author: jmesnil
Date: 2008-02-27 11:06:29 -0500 (Wed, 27 Feb 2008)
New Revision: 3822
Added:
trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java
Removed:
trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcher.java
Modified:
trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java
trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java
trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnection.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/PacketHandler.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/invm/INVMConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMSession.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/AbstractPacket.java
trunk/src/main/org/jboss/messaging/core/server/impl/ServerConnectionImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.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/MinaHandlerTest.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/CoreClientOverSSLTest.java
trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java
trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java
trunk/tests/src/org/jboss/test/messaging/jms/SerializedClientSupport.java
Log:
* renamed remoting.impl.PacketDispatcher to PacketDispatcherImpl and introduced remoting.PacketDispatcher interface which is used by other JBM modules
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConnectionFactoryImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -26,6 +26,8 @@
import org.jboss.messaging.core.client.ClientConnection;
import org.jboss.messaging.core.client.ClientConnectionFactory;
import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionRequest;
import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionResponse;
@@ -60,6 +62,8 @@
// Attributes -----------------------------------------------------------------------------------
private final RemotingConfiguration remotingConfig;
+
+ private final PacketDispatcher dispatcher;
private final Version serverVersion;
@@ -82,6 +86,7 @@
this.serverVersion = serverVersion;
this.strictTck = strictTck;
this.prefetchSize = prefetchSize;
+ this.dispatcher = new PacketDispatcherImpl();
}
public ClientConnection createConnection() throws MessagingException
@@ -96,7 +101,7 @@
RemotingConnection remotingConnection = null;
try
{
- remotingConnection = new RemotingConnectionImpl(remotingConfig);
+ remotingConnection = new RemotingConnectionImpl(remotingConfig, dispatcher);
remotingConnection.start();
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -29,7 +29,6 @@
import org.jboss.messaging.core.list.PriorityLinkedList;
import org.jboss.messaging.core.list.impl.PriorityLinkedListImpl;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.CloseMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.ConsumerFlowTokenMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.DeliverMessage;
@@ -243,7 +242,7 @@
remotingConnection.send(id, new CloseMessage());
- PacketDispatcher.client.unregister(id);
+ remotingConnection.getPacketDispatcher().unregister(id);
}
finally
{
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/ClientSessionImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -37,7 +37,6 @@
import org.jboss.messaging.core.client.ClientConsumer;
import org.jboss.messaging.core.client.ClientProducer;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.remoting.impl.wireformat.CloseMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.ConsumerFlowTokenMessage;
@@ -240,7 +239,7 @@
consumers.put(response.getConsumerID(), consumer);
- PacketDispatcher.client.register(new ClientConsumerPacketHandler(consumer, response.getConsumerID()));
+ remotingConnection.getPacketDispatcher().register(new ClientConsumerPacketHandler(consumer, response.getConsumerID()));
if (prefetchSize > 0) // 0 ==> flow control is disabled
{
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnection.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnection.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnection.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -1,6 +1,7 @@
package org.jboss.messaging.core.client.impl;
import org.jboss.messaging.core.client.FailureListener;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.server.MessagingException;
@@ -24,4 +25,6 @@
AbstractPacket send(String id, AbstractPacket packet, boolean oneWay) throws MessagingException;
void setFailureListener(FailureListener newListener);
+
+ PacketDispatcher getPacketDispatcher();
}
Modified: trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/client/impl/RemotingConnectionImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -28,6 +28,7 @@
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.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.remoting.impl.wireformat.MessagingExceptionMessage;
@@ -59,24 +60,30 @@
private FailureListener listener;
+ private transient PacketDispatcher dispatcher;
+
// Constructors ---------------------------------------------------------------------------------
- public RemotingConnectionImpl(final RemotingConfiguration remotingConfig) throws Exception
+ public RemotingConnectionImpl(final RemotingConfiguration remotingConfig, final PacketDispatcher dispatcher) throws Exception
{
assert remotingConfig != null;
+ assert dispatcher != null;
this.remotingConfig = remotingConfig;
+ this.dispatcher = dispatcher;
log.trace(this + " created with configuration " + remotingConfig);
}
// Public ---------------------------------------------------------------------------------------
+ // RemotingConnection implementation ------------------------------------------------------------
+
public void start() throws Throwable
{
if (log.isTraceEnabled()) { log.trace(this + " started remoting connection"); }
- connector = REGISTRY.getConnector(remotingConfig);
+ connector = REGISTRY.getConnector(remotingConfig, dispatcher);
session = connector.connect();
if (log.isDebugEnabled())
@@ -180,6 +187,11 @@
}
this.listener = newListener;
}
+
+ public PacketDispatcher getPacketDispatcher()
+ {
+ return dispatcher;
+ }
// Package protected ----------------------------------------------------------------------------
Modified: trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/ConnectorRegistry.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -6,7 +6,6 @@
*/
package org.jboss.messaging.core.remoting;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -44,7 +43,7 @@
*/
boolean unregister(RemotingConfiguration remotingConfig);
- NIOConnector getConnector(RemotingConfiguration remotingConfig);
+ NIOConnector getConnector(RemotingConfiguration remotingConfig, PacketDispatcher dispatcher);
/**
* Decrement the number of references on the NIOConnector corresponding to
Added: trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/remoting/PacketDispatcher.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.messaging.core.remoting;
+
+import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
+
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
+ *
+ * @version <tt>$Revision$</tt>
+ *
+ */
+public interface PacketDispatcher
+{
+
+ void register(PacketHandler handler);
+
+ void unregister(String handlerID);
+
+ void dispatch(Packet packet, PacketSender sender) throws Exception;
+
+ /** Call filters on a package */
+ void callFilters(Packet packet) throws Exception;
+
+}
\ No newline at end of file
Modified: trunk/src/main/org/jboss/messaging/core/remoting/PacketHandler.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/PacketHandler.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/PacketHandler.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -6,7 +6,7 @@
*/
package org.jboss.messaging.core.remoting;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
/**
Modified: trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -7,7 +7,6 @@
package org.jboss.messaging.core.remoting;
import org.jboss.messaging.core.client.FailureListener;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.server.MessagingComponent;
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/ConnectorRegistryImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -15,6 +15,7 @@
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.TransportType;
import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
@@ -75,7 +76,7 @@
return (dispatcher != null);
}
- public synchronized NIOConnector getConnector(RemotingConfiguration remotingConfig)
+ public synchronized NIOConnector getConnector(RemotingConfiguration remotingConfig, PacketDispatcher dispatcher)
{
assert remotingConfig != null;
@@ -97,7 +98,7 @@
{
PacketDispatcher localDispatcher = localDispatchers.get(remotingConfig);
NIOConnector connector = new INVMConnector(remotingConfig.getHost(), remotingConfig
- .getPort(), localDispatcher);
+ .getPort(), dispatcher, localDispatcher);
if (log.isDebugEnabled())
log.debug("Created " + connector + " to connect to "
@@ -114,7 +115,7 @@
if (transport == TCP)
{
- connector = new MinaConnector(remotingConfig);
+ connector = new MinaConnector(remotingConfig, dispatcher);
}
if (connector == null)
Deleted: trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcher.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcher.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcher.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -1,134 +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 static org.jboss.messaging.core.remoting.impl.Assert.assertValidID;
-import static org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket.NO_ID_SET;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.Interceptor;
-import org.jboss.messaging.core.remoting.PacketHandler;
-import org.jboss.messaging.core.remoting.PacketSender;
-import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>.
- *
- * @version <tt>$Revision$</tt>
- */
-public class PacketDispatcher
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger.getLogger(PacketDispatcher.class);
-
- // Attributes ----------------------------------------------------
-
- private Map<String, PacketHandler> handlers;
- private List<Interceptor> filters;
-
- // Static --------------------------------------------------------
-
- public static final PacketDispatcher client = new PacketDispatcher();
-
- // Constructors --------------------------------------------------
-
- public PacketDispatcher()
- {
- handlers = new ConcurrentHashMap<String, PacketHandler>();
- }
-
- public PacketDispatcher(List<Interceptor> filters)
- {
- this();
- this.filters = filters;
- }
-
- // Public --------------------------------------------------------
-
-
-
- public void register(PacketHandler handler)
- {
- assertValidID(handler.getID());
- assert handler != null;
-
- handlers.put(handler.getID(), handler);
-
- if (log.isDebugEnabled())
- {
- log.debug("registered " + handler + " with ID " + handler.getID());
- }
- }
-
- public void unregister(String handlerID)
- {
- assertValidID(handlerID);
-
- handlers.remove(handlerID);
-
- if (log.isDebugEnabled())
- {
- log.debug("unregistered handler for " + handlerID);
- }
- }
-
- public PacketHandler getHandler(String handlerID)
- {
- assertValidID(handlerID);
-
- return handlers.get(handlerID);
- }
-
- public void dispatch(Packet packet, PacketSender sender) throws Exception
- {
- String targetID = packet.getTargetID();
- if (NO_ID_SET.equals(targetID))
- {
- log.error("Packet is not handled, it has no targetID: " + packet);
- return;
- }
- PacketHandler handler = getHandler(targetID);
- if (handler != null)
- {
- if (log.isTraceEnabled())
- log.trace(handler + " handles " + packet);
-
- callFilters(packet);
- handler.handle(packet, sender);
-
- }
- else
- {
- log.error("Unhandled packet " + packet);
- }
- }
-
- /** Call filters on a package */
- public void callFilters(Packet packet) throws Exception
- {
- if (filters != null)
- {
- for (Interceptor filter: filters)
- {
- filter.intercept(packet);
- }
- }
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-}
Copied: trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java (from rev 3813, trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcher.java)
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java (rev 0)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -0,0 +1,142 @@
+/*
+ * 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 static org.jboss.messaging.core.remoting.impl.Assert.assertValidID;
+import static org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket.NO_ID_SET;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
+import org.jboss.messaging.core.remoting.Interceptor;
+import org.jboss.messaging.core.remoting.PacketHandler;
+import org.jboss.messaging.core.remoting.PacketSender;
+import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
+
+/**
+ * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>.
+ *
+ * @version <tt>$Revision$</tt>
+ */
+public class PacketDispatcherImpl implements PacketDispatcher, Serializable
+{
+ // Constants -----------------------------------------------------
+
+ public static final Logger log = Logger.getLogger(PacketDispatcherImpl.class);
+
+ // Attributes ----------------------------------------------------
+
+ private Map<String, PacketHandler> handlers;
+ public List<Interceptor> filters;
+
+ // Static --------------------------------------------------------
+
+ // public static final PacketDispatcher client = new PacketDispatcher();
+
+ // Constructors --------------------------------------------------
+
+ public PacketDispatcherImpl()
+ {
+ handlers = new ConcurrentHashMap<String, PacketHandler>();
+ }
+
+ public PacketDispatcherImpl(List<Interceptor> filters)
+ {
+ this();
+ this.filters = filters;
+ }
+
+ // Public --------------------------------------------------------
+
+
+
+ /* (non-Javadoc)
+ * @see org.jboss.messaging.core.remoting.impl.IPacketDispatcher#register(org.jboss.messaging.core.remoting.PacketHandler)
+ */
+ public void register(PacketHandler handler)
+ {
+ assertValidID(handler.getID());
+ assert handler != null;
+
+ handlers.put(handler.getID(), handler);
+
+ if (log.isDebugEnabled())
+ {
+ log.debug("registered " + handler + " with ID " + handler.getID());
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.messaging.core.remoting.impl.IPacketDispatcher#unregister(java.lang.String)
+ */
+ public void unregister(String handlerID)
+ {
+ assertValidID(handlerID);
+
+ handlers.remove(handlerID);
+
+ if (log.isDebugEnabled())
+ {
+ log.debug("unregistered handler for " + handlerID);
+ }
+ }
+
+ public PacketHandler getHandler(String handlerID)
+ {
+ assertValidID(handlerID);
+
+ return handlers.get(handlerID);
+ }
+
+ public void dispatch(Packet packet, PacketSender sender) throws Exception
+ {
+ String targetID = packet.getTargetID();
+ if (NO_ID_SET.equals(targetID))
+ {
+ log.error("Packet is not handled, it has no targetID: " + packet);
+ return;
+ }
+ PacketHandler handler = getHandler(targetID);
+ if (handler != null)
+ {
+ if (log.isTraceEnabled())
+ log.trace(handler + " handles " + packet);
+
+ callFilters(packet);
+ handler.handle(packet, sender);
+
+ }
+ else
+ {
+ log.error("Unhandled packet " + packet);
+ }
+ }
+
+ /** Call filters on a package */
+ public void callFilters(Packet packet) throws Exception
+ {
+ if (filters != null)
+ {
+ for (Interceptor filter: filters)
+ {
+ filter.intercept(packet);
+ }
+ }
+ }
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+}
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMConnector.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -13,7 +13,7 @@
import org.jboss.messaging.core.client.FailureListener;
import org.jboss.messaging.core.remoting.NIOConnector;
import org.jboss.messaging.core.remoting.NIOSession;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
@@ -33,30 +33,32 @@
private INVMSession session;
+ private PacketDispatcher clientDispatcher;
private PacketDispatcher serverDispatcher;
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
- // Public --------------------------------------------------------
-
- public INVMConnector(String host, int port, PacketDispatcher serverDispatcher)
+ public INVMConnector(String host, int port, PacketDispatcher clientDispatcher, PacketDispatcher serverDispatcher)
{
assert host != null;
assert serverDispatcher != null;
this.host = host;
this.port = port;
+ this.clientDispatcher = clientDispatcher;
this.serverDispatcher = serverDispatcher;
}
+ // Public --------------------------------------------------------
+
// NIOConnector implementation -----------------------------------
public NIOSession connect()
throws IOException
{
- this.session = new INVMSession(serverDispatcher);
+ this.session = new INVMSession(clientDispatcher, serverDispatcher);
return session;
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMSession.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMSession.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/invm/INVMSession.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -12,8 +12,8 @@
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.remoting.NIOSession;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.PacketSender;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
@@ -31,6 +31,7 @@
private String id;
private long correlationCounter;
+ private PacketDispatcher clientDispatcher;
private PacketDispatcher serverDispatcher;
private boolean connected;
@@ -39,12 +40,14 @@
// Constructors --------------------------------------------------
- public INVMSession(PacketDispatcher serverDispatcher)
+ public INVMSession(PacketDispatcher clientDispatcher, PacketDispatcher serverDispatcher)
{
+ assert clientDispatcher != null;
assert serverDispatcher != null;
this.id = randomUUID().toString();
this.correlationCounter = 0;
+ this.clientDispatcher = clientDispatcher;
this.serverDispatcher = serverDispatcher;
connected = true;
}
@@ -79,7 +82,7 @@
public void send(Packet response) throws Exception
{
serverDispatcher.callFilters(response);
- PacketDispatcher.client.dispatch(response, null);
+ clientDispatcher.dispatch(response, null);
}
public String getSessionID()
@@ -114,7 +117,7 @@
} else
// other later responses are dispatched directly to the client
{
- PacketDispatcher.client.dispatch(response, null);
+ clientDispatcher.dispatch(response, null);
}
}
catch (Exception e)
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaConnector.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -34,8 +34,8 @@
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.RemotingException;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
@@ -72,14 +72,16 @@
// Public --------------------------------------------------------
- public MinaConnector(RemotingConfiguration configuration)
+ public MinaConnector(RemotingConfiguration configuration, PacketDispatcher dispatcher)
{
- this(configuration, new ClientKeepAliveFactory());
+ this(configuration, dispatcher, new ClientKeepAliveFactory());
}
- public MinaConnector(RemotingConfiguration configuration, KeepAliveFactory keepAliveFactory)
+ public MinaConnector(RemotingConfiguration configuration, PacketDispatcher dispatcher,
+ KeepAliveFactory keepAliveFactory)
{
assert configuration != null;
+ assert dispatcher != null;
assert keepAliveFactory != null;
this.configuration = configuration;
@@ -107,7 +109,7 @@
configuration.getKeepAliveTimeout(), this);
addExecutorFilter(filterChain);
- connector.setHandler(new MinaHandler(PacketDispatcher.client, this, false));
+ connector.setHandler(new MinaHandler(dispatcher, this, false));
connector.getSessionConfig().setKeepAlive(true);
connector.getSessionConfig().setReuseAddress(true);
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaHandler.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -10,9 +10,9 @@
import org.apache.mina.common.IoSession;
import org.apache.mina.filter.reqres.Response;
import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.PacketSender;
import org.jboss.messaging.core.remoting.RemotingException;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.AbstractPacket;
import org.jboss.messaging.core.remoting.impl.wireformat.Packet;
import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -29,10 +29,11 @@
import org.jboss.beans.metadata.api.annotations.Uninstall;
import org.jboss.messaging.core.client.FailureListener;
import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.Interceptor;
import org.jboss.messaging.core.remoting.RemotingException;
import org.jboss.messaging.core.remoting.RemotingService;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.server.MessagingException;
@@ -82,7 +83,7 @@
this.remotingConfig = remotingConfig;
this.factory = factory;
- this.dispatcher = new PacketDispatcher(this.filters);
+ this.dispatcher = new PacketDispatcherImpl(this.filters);
}
@Install
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/AbstractPacket.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/AbstractPacket.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/wireformat/AbstractPacket.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -8,7 +8,7 @@
import static org.jboss.messaging.core.remoting.impl.Assert.assertValidID;
-import org.jboss.messaging.core.client.impl.RemotingConnectionImpl;
+import org.jboss.messaging.core.client.impl.RemotingConnection;
/**
* @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>.
@@ -45,7 +45,7 @@
// Constructors --------------------------------------------------
- public AbstractPacket(PacketType type)
+ AbstractPacket(PacketType type)
{
assert type != null;
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/ServerConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/ServerConnectionImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/ServerConnectionImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -26,9 +26,9 @@
import java.util.concurrent.ConcurrentMap;
import org.jboss.messaging.core.logging.Logger;
+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.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.ConnectionCreateSessionResponseMessage;
import org.jboss.messaging.core.security.SecurityStore;
import org.jboss.messaging.core.server.Binding;
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -38,8 +38,8 @@
import org.jboss.messaging.core.filter.impl.FilterImpl;
import org.jboss.messaging.core.logging.Logger;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.PacketSender;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.wireformat.SessionBindingQueryMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.SessionBindingQueryResponseMessage;
import org.jboss.messaging.core.remoting.impl.wireformat.SessionCreateBrowserResponseMessage;
Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/SessionTestBase.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -16,6 +16,7 @@
import junit.framework.TestCase;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.NIOConnector;
import org.jboss.messaging.core.remoting.NIOSession;
import org.jboss.messaging.core.remoting.PacketHandler;
@@ -40,6 +41,7 @@
protected ReversePacketHandler serverPacketHandler;
protected PacketDispatcher serverDispatcher;
+ protected PacketDispatcher clientDispatcher;
protected NIOConnector connector;
@@ -53,7 +55,7 @@
public void testConnected() throws Exception
{
- NIOConnector connector = createNIOConnector();
+ NIOConnector connector = createNIOConnector(new PacketDispatcherImpl());
NIOSession session = connector.connect();
assertTrue(session.isConnected());
@@ -108,7 +110,7 @@
TestPacketHandler callbackHandler = new TestPacketHandler();
callbackHandler.expectMessage(1);
- PacketDispatcher.client.register(callbackHandler);
+ clientDispatcher.register(callbackHandler);
TextPacket packet = new TextPacket("testSendOneWayWithCallbackHandler");
packet.setTargetID(serverPacketHandler.getID());
@@ -153,7 +155,7 @@
TestPacketHandler callbackHandler = new TestPacketHandler();
callbackHandler.expectMessage(1);
- PacketDispatcher.client.register(callbackHandler);
+ clientDispatcher.register(callbackHandler);
TextPacket packet = new TextPacket("testSendOneWayWith2Callbacks");
packet.setTargetID(serverHandler.getID());
@@ -207,7 +209,7 @@
public void testClientHandlePacketSentByServer() throws Exception
{
TestPacketHandler clientHandler = new TestPacketHandler();
- PacketDispatcher.client.register(clientHandler);
+ clientDispatcher.register(clientHandler);
serverPacketHandler.expectMessage(1);
clientHandler.expectMessage(1);
@@ -243,11 +245,14 @@
{
serverDispatcher = startServer();
- connector = createNIOConnector();
+ clientDispatcher = new PacketDispatcherImpl();
+
+ connector = createNIOConnector(clientDispatcher);
session = connector.connect();
serverPacketHandler = new ReversePacketHandler();
serverDispatcher.register(serverPacketHandler);
+
}
@Override
@@ -265,7 +270,7 @@
protected abstract RemotingConfiguration createRemotingConfiguration();
- protected abstract NIOConnector createNIOConnector();
+ protected abstract NIOConnector createNIOConnector(PacketDispatcher dispatcher);
protected abstract PacketDispatcher startServer() throws Exception;
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/invm/test/unit/INVMSessionTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -9,8 +9,9 @@
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.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.NIOConnector;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.SessionTestBase;
import org.jboss.messaging.core.remoting.impl.invm.INVMConnector;
@@ -27,7 +28,8 @@
// Attributes ----------------------------------------------------
- PacketDispatcher dispatcher = new PacketDispatcher();
+ PacketDispatcher serverDispatcher = new PacketDispatcherImpl();
+
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
@@ -37,9 +39,9 @@
// ClientTestBase overrides --------------------------------------
@Override
- protected NIOConnector createNIOConnector()
+ protected NIOConnector createNIOConnector(PacketDispatcher dispatcher)
{
- return new INVMConnector("localhost", PORT, dispatcher);
+ return new INVMConnector("localhost", PORT, dispatcher, serverDispatcher);
}
@Override
@@ -51,13 +53,13 @@
@Override
protected PacketDispatcher startServer() throws Exception
{
- return dispatcher;
+ return serverDispatcher;
}
@Override
protected void stopServer()
{
- dispatcher = null;
+ serverDispatcher = null;
}
// Package protected ---------------------------------------------
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ClientKeepAliveTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -26,6 +26,7 @@
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.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.mina.ClientKeepAliveFactory;
import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
@@ -96,7 +97,7 @@
};
service.addFailureListener(listener);
- MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), factory);
+ MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), new PacketDispatcherImpl(), factory);
connector.connect();
boolean firedKeepAliveNotification = latch.await(KEEP_ALIVE_INTERVAL
@@ -127,7 +128,7 @@
};
service.addFailureListener(listener);
- MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), factory);
+ MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(), new PacketDispatcherImpl(), factory);
NIOSession session = connector.connect();
String clientSessionID = session.getID();
@@ -173,7 +174,7 @@
try
{
MinaConnector connector = new MinaConnector(service.getRemotingConfiguration(),
- factory);
+ new PacketDispatcherImpl(), factory);
NIOSession session = connector.connect();
String clientSessionID = session.getID();
@@ -232,9 +233,9 @@
service.addFailureListener(listener);
MinaConnector connectorNotResponding = new MinaConnector(service
- .getRemotingConfiguration(), notRespondingfactory);
+ .getRemotingConfiguration(), new PacketDispatcherImpl(), notRespondingfactory);
MinaConnector connectorResponding = new MinaConnector(service
- .getRemotingConfiguration(), respondingfactory);
+ .getRemotingConfiguration(), new PacketDispatcherImpl(), respondingfactory);
NIOSession sessionNotResponding = connectorNotResponding.connect();
String clientSessionIDNotResponding = sessionNotResponding.getID();
Modified: trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaHandlerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaHandlerTest.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaHandlerTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -8,7 +8,8 @@
import junit.framework.TestCase;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.mina.MinaHandler;
import org.jboss.messaging.core.remoting.impl.wireformat.TextPacket;
import org.jboss.messaging.core.remoting.test.unit.TestPacketHandler;
@@ -24,6 +25,7 @@
private MinaHandler handler;
private TestPacketHandler packetHandler;
+ private PacketDispatcher clientDispatcher;
// Constants -----------------------------------------------------
@@ -73,18 +75,19 @@
@Override
protected void setUp() throws Exception
{
- handler = new MinaHandler(PacketDispatcher.client, null, true);
+ clientDispatcher = new PacketDispatcherImpl();
+ handler = new MinaHandler(clientDispatcher, null, true);
packetHandler = new TestPacketHandler();
- PacketDispatcher.client.register(packetHandler);
+ clientDispatcher.register(packetHandler);
}
@Override
protected void tearDown() throws Exception
{
- PacketDispatcher.client.unregister(packetHandler.getID());
+ clientDispatcher.unregister(packetHandler.getID());
packetHandler = null;
-
+ clientDispatcher = null;
handler = null;
}
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/MinaSessionTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -10,8 +10,8 @@
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.remoting.PacketDispatcher;
import org.jboss.messaging.core.remoting.NIOConnector;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.SessionTestBase;
import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
@@ -59,9 +59,9 @@
// ClientTestBase overrides --------------------------------------
@Override
- protected NIOConnector createNIOConnector()
+ protected NIOConnector createNIOConnector(PacketDispatcher dispatcher)
{
- return new MinaConnector(createRemotingConfiguration());
+ return new MinaConnector(createRemotingConfiguration(), dispatcher);
}
@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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/integration/test/ServerKeepAliveTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -19,6 +19,7 @@
import org.jboss.messaging.core.client.FailureListener;
import org.jboss.messaging.core.remoting.NIOSession;
import org.jboss.messaging.core.remoting.RemotingException;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -87,7 +88,7 @@
service.start();
MinaConnector connector = new MinaConnector(service
- .getRemotingConfiguration());
+ .getRemotingConfiguration(), new PacketDispatcherImpl());
final String[] sessionIDNotResponding = new String[1];
final CountDownLatch latch = new CountDownLatch(1);
@@ -142,7 +143,7 @@
service.start();
MinaConnector connector = new MinaConnector(service
- .getRemotingConfiguration());
+ .getRemotingConfiguration(), 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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/impl/mina/stress/PacketStressTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -19,6 +19,7 @@
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.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
import org.jboss.messaging.core.remoting.impl.mina.MinaService;
@@ -57,7 +58,7 @@
RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
service = new MinaService(remotingConfig);
service.start();
- connector = new MinaConnector(remotingConfig);
+ connector = new MinaConnector(remotingConfig, new PacketDispatcherImpl());
}
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/ssl/integration/CoreClientOverSSLTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -75,7 +75,7 @@
public void testSSL() throws Exception
{
- Process p = SerializedClientSupport.spawnVM(CoreClientOverSSL.class
+ final Process p = SerializedClientSupport.spawnVM(CoreClientOverSSL.class
.getName(), Boolean.TRUE.toString(), "messaging.keystore",
"secureexample");
@@ -84,9 +84,7 @@
assertEquals(MESSAGE_TEXT_FROM_CLIENT, new String(m.getPayload()));
log.info("waiting for the client VM to exit ...");
- p.waitFor();
-
- assertEquals(0, p.exitValue());
+ SerializedClientSupport.assertProcessExits(true, 0, p);
}
public void testSSLWithIncorrectKeyStorePassword() throws Exception
@@ -99,10 +97,7 @@
assertNull(m);
log.info("waiting for the client VM to exit ...");
- p.waitFor();
-
- // client VM must have exited on an error
- assertNotSame(0, p.exitValue());
+ SerializedClientSupport.assertProcessExits(false, 0, p);
}
public void testPlainConnectionToSSLEndpoint() throws Exception
@@ -114,10 +109,7 @@
assertNull(m);
log.info("waiting for the client VM to exit ...");
- p.waitFor();
-
- // client VM must have exited on an error
- assertNotSame(0, p.exitValue());
+ SerializedClientSupport.assertProcessExits(false, 0, p);
}
// Package protected ---------------------------------------------
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-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/ConnectorRegistryTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -13,8 +13,9 @@
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.ConnectorRegistryImpl;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingConfiguration;
/**
@@ -42,7 +43,7 @@
protected void setUp() throws Exception
{
registry = new ConnectorRegistryImpl();
- dispatcher = new PacketDispatcher();
+ dispatcher = new PacketDispatcherImpl();
assertEquals(0, registry.getRegisteredRemotingConfigurations().length);
}
@@ -71,8 +72,8 @@
{
RemotingConfiguration remotingConfig_1 = new RemotingConfiguration(TCP, "localhost", PORT);
RemotingConfiguration remotingConfig_2 = new RemotingConfiguration(TCP, "localhost", PORT + 1);
- PacketDispatcher dispatcher_1 = new PacketDispatcher();
- PacketDispatcher dispatcher_2 = new PacketDispatcher();
+ PacketDispatcher dispatcher_1 = new PacketDispatcherImpl();
+ PacketDispatcher dispatcher_2 = new PacketDispatcherImpl();
assertTrue(registry.register(remotingConfig_1, dispatcher_1));
assertTrue(registry.register(remotingConfig_2, dispatcher_2));
@@ -88,7 +89,7 @@
// remotingConfig is registered -> client and server are in the same vm
assertTrue(registry.register(remotingConfig, dispatcher));
- NIOConnector connector = registry.getConnector(remotingConfig);
+ NIOConnector connector = registry.getConnector(remotingConfig, dispatcher);
assertTrue(connector.getServerURI().startsWith(INVM.toString()));
@@ -104,7 +105,7 @@
// remotingConfig is not registered -> client and server are not in the same vm
- NIOConnector connector = registry.getConnector(remotingConfig);
+ NIOConnector connector = registry.getConnector(remotingConfig, dispatcher);
assertNotNull(connector);
assertEquals(remotingConfig.getURI(), connector.getServerURI());
@@ -117,10 +118,10 @@
RemotingConfiguration remotingConfig = new RemotingConfiguration(TCP, "localhost", PORT);
assertEquals(0, registry.getConnectorCount(remotingConfig));
- NIOConnector connector1 = registry.getConnector(remotingConfig);
+ NIOConnector connector1 = registry.getConnector(remotingConfig, dispatcher);
assertEquals(1, registry.getConnectorCount(remotingConfig));
- NIOConnector connector2 = registry.getConnector(remotingConfig);
+ NIOConnector connector2 = registry.getConnector(remotingConfig, dispatcher);
assertEquals(2, registry.getConnectorCount(remotingConfig));
assertSame(connector1, connector2);
@@ -128,7 +129,7 @@
assertNull(registry.removeConnector(remotingConfig));
assertEquals(1, registry.getConnectorCount(remotingConfig));
- NIOConnector connector3 = registry.getConnector(remotingConfig);
+ NIOConnector connector3 = registry.getConnector(remotingConfig, dispatcher);
assertEquals(2, registry.getConnectorCount(remotingConfig));
assertSame(connector1, connector3);
@@ -148,10 +149,10 @@
assertEquals(0, registry.getConnectorCount(remotingConfig1));
assertEquals(0, registry.getConnectorCount(remotingConfig2));
- NIOConnector connector1 = registry.getConnector(remotingConfig1);
+ NIOConnector connector1 = registry.getConnector(remotingConfig1, dispatcher);
assertEquals(1, registry.getConnectorCount(remotingConfig1));
- NIOConnector connector2 = registry.getConnector(remotingConfig2);
+ NIOConnector connector2 = registry.getConnector(remotingConfig2, dispatcher);
assertEquals(1, registry.getConnectorCount(remotingConfig2));
assertNotSame(connector1, connector2);
@@ -172,10 +173,10 @@
assertNotSame(remotingConfig1, remotingConfig2);
assertEquals(remotingConfig1, remotingConfig2);
- NIOConnector connector1 = registry.getConnector(remotingConfig1);
+ NIOConnector connector1 = registry.getConnector(remotingConfig1, dispatcher);
assertEquals(1, registry.getConnectorCount(remotingConfig1));
- NIOConnector connector2 = registry.getConnector(remotingConfig2);
+ NIOConnector connector2 = registry.getConnector(remotingConfig2, dispatcher);
assertEquals(2, registry.getConnectorCount(remotingConfig2));
assertSame(connector1, connector2);
Modified: trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/messaging/core/remoting/test/unit/PacketDispatcherTest.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -16,7 +16,7 @@
import org.jboss.messaging.core.remoting.PacketHandler;
import org.jboss.messaging.core.remoting.PacketSender;
-import org.jboss.messaging.core.remoting.impl.PacketDispatcher;
+import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.wireformat.TextPacket;
/**
@@ -31,7 +31,7 @@
// Attributes ----------------------------------------------------
- PacketDispatcher dispatcher;
+ PacketDispatcherImpl dispatcher;
// Static --------------------------------------------------------
@@ -44,7 +44,7 @@
@Override
protected void setUp() throws Exception
{
- dispatcher = new PacketDispatcher();
+ dispatcher = new PacketDispatcherImpl();
}
@Override
Modified: trunk/tests/src/org/jboss/test/messaging/jms/SerializedClientSupport.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/SerializedClientSupport.java 2008-02-27 15:43:29 UTC (rev 3821)
+++ trunk/tests/src/org/jboss/test/messaging/jms/SerializedClientSupport.java 2008-02-27 16:06:29 UTC (rev 3822)
@@ -6,6 +6,10 @@
*/
package org.jboss.test.messaging.jms;
+import static java.util.concurrent.TimeUnit.SECONDS;
+import static junit.framework.Assert.assertNotSame;
+import static junit.framework.Assert.assertSame;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
@@ -13,6 +17,12 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeoutException;
import javax.jms.ConnectionFactory;
import javax.jms.Queue;
@@ -102,18 +112,43 @@
return file;
}
- // Constructors --------------------------------------------------
+ /**
+ * Assert that a process exits with the expected value (or not depending if
+ * the <code>sameValue</code> is expected or not). The method waits 5
+ * seconds for the process to exit, then an Exception is thrown. In any case,
+ * the process is destroyed before the method returns.
+ */
+ public static void assertProcessExits(boolean sameValue, int value,
+ final Process p) throws InterruptedException, ExecutionException,
+ TimeoutException
+ {
+ ScheduledExecutorService executor = Executors
+ .newSingleThreadScheduledExecutor();
+ Future<Integer> future = executor.submit(new Callable<Integer>()
+ {
- // Public --------------------------------------------------------
+ public Integer call() throws Exception
+ {
+ p.waitFor();
+ return p.exitValue();
+ }
+ });
+ try
+ {
+ int exitValue = future.get(5, SECONDS);
+ if (sameValue)
+ {
+ assertSame(value, exitValue);
+ } else
+ {
+ assertNotSame(value, exitValue);
+ }
+ } finally
+ {
+ p.destroy();
+ }
+ }
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-
/**
* Redirect the input stream to a logger (as debug logs)
*/
@@ -145,4 +180,17 @@
}
}
}
+
+ // Constructors --------------------------------------------------
+
+ // Public --------------------------------------------------------
+
+ // Package protected ---------------------------------------------
+
+ // Protected -----------------------------------------------------
+
+ // Private -------------------------------------------------------
+
+ // Inner classes -------------------------------------------------
+
}
More information about the jboss-cvs-commits
mailing list