[jboss-cvs] JBoss Messaging SVN: r4460 - in trunk: src/main/org/jboss/messaging/core/remoting/impl and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jun 13 05:36:16 EDT 2008
Author: ataylor
Date: 2008-06-13 05:36:16 -0400 (Fri, 13 Jun 2008)
New Revision: 4460
Removed:
trunk/src/main/org/jboss/messaging/core/remoting/KeepAliveFactory.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/ServerKeepAliveFactory.java
Modified:
trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java
trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java
trunk/tests/src/org/jboss/messaging/tests/integration/core/remoting/mina/ServerKeepAliveTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java
Log:
removed keepalivefactories and simplified
Deleted: trunk/src/main/org/jboss/messaging/core/remoting/KeepAliveFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/KeepAliveFactory.java 2008-06-13 01:08:10 UTC (rev 4459)
+++ trunk/src/main/org/jboss/messaging/core/remoting/KeepAliveFactory.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -1,19 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package org.jboss.messaging.core.remoting;
-
-import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
-import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * @version <tt>$Revision$</tt>
- */
-public interface KeepAliveFactory
-{
- Pong pong(long sessionID, Ping ping);
-}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java 2008-06-13 01:08:10 UTC (rev 4459)
+++ trunk/src/main/org/jboss/messaging/core/remoting/RemotingService.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -8,7 +8,6 @@
import org.jboss.messaging.core.client.RemotingSessionListener;
import org.jboss.messaging.core.config.Configuration;
-import org.jboss.messaging.core.remoting.impl.mina.ServerKeepAliveFactory;
import org.jboss.messaging.core.server.MessagingComponent;
import java.util.List;
@@ -24,8 +23,6 @@
Configuration getConfiguration();
- ServerKeepAliveFactory getKeepAliveFactory();
-
List<Acceptor> getAcceptors();
void setAcceptorFactory(AcceptorFactory acceptorFactory);
@@ -41,4 +38,6 @@
void registerPinger(NIOSession session);
void unregisterPinger(Long id);
+
+ boolean isSession(Long sessionID);
}
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java 2008-06-13 01:08:10 UTC (rev 4459)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingServiceImpl.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -16,7 +16,6 @@
import org.jboss.messaging.core.ping.impl.PingerImpl;
import org.jboss.messaging.core.remoting.*;
import static org.jboss.messaging.core.remoting.impl.RemotingConfigurationValidator.validate;
-import org.jboss.messaging.core.remoting.impl.mina.ServerKeepAliveFactory;
import java.util.ArrayList;
import java.util.List;
@@ -46,8 +45,6 @@
private List<RemotingSessionListener> listeners = new ArrayList<RemotingSessionListener>();
- private ServerKeepAliveFactory factory;
-
private ScheduledExecutorService scheduledExecutor;
private Map<Long, ScheduledFuture<?>> currentScheduledPingers;
@@ -56,24 +53,19 @@
private AcceptorFactory acceptorFactory = new AcceptorFactoryImpl();
+ private List<Long> sessions = new ArrayList<Long>();
+
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
public RemotingServiceImpl(Configuration config)
{
- this(config, new ServerKeepAliveFactory());
- }
-
- public RemotingServiceImpl(Configuration config, ServerKeepAliveFactory factory)
- {
assert config != null;
- assert factory != null;
validate(config);
this.config = config;
- this.factory = factory;
dispatcher = new PacketDispatcherImpl(null);
scheduledExecutor = new ScheduledThreadPoolExecutor(config.getScheduledThreadPoolMaxSize());
@@ -81,6 +73,7 @@
currentPingers = new ConcurrentHashMap<Long, Pinger>();
}
+
@Install
public void addInterceptor(Interceptor filter)
{
@@ -151,11 +144,6 @@
return config;
}
- public ServerKeepAliveFactory getKeepAliveFactory()
- {
- return factory;
- }
-
public List<Acceptor> getAcceptors()
{
return acceptors;
@@ -174,7 +162,7 @@
ScheduledFuture<?> future = scheduledExecutor.scheduleAtFixedRate(pinger, config.getKeepAliveInterval(), config.getKeepAliveInterval(), TimeUnit.MILLISECONDS);
currentScheduledPingers.put(session.getID(), future);
currentPingers.put(session.getID(), pinger);
- factory.getSessions().add(session.getID());
+ sessions.add(session.getID());
}
public void unregisterPinger(Long id)
@@ -191,21 +179,30 @@
}
}
+ public boolean isSession(Long sessionID)
+ {
+ return sessions.contains(sessionID);
+ }
// FailureNotifier implementation -------------------------------
public void fireCleanup(long sessionID, MessagingException me)
{
- if (factory.getSessions().contains(sessionID))
+ if (sessions.contains(sessionID))
{
for (RemotingSessionListener listener : listeners)
{
listener.sessionDestroyed(sessionID, me);
}
- factory.getSessions().remove(sessionID);
+ sessions.remove(sessionID);
}
}
// Public --------------------------------------------------------
+ public List<Long> getSessions()
+ {
+ return sessions;
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
Deleted: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/ServerKeepAliveFactory.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/ServerKeepAliveFactory.java 2008-06-13 01:08:10 UTC (rev 4459)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/ServerKeepAliveFactory.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -1,64 +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.mina;
-
-import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.KeepAliveFactory;
-import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
-import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- * @version <tt>$Revision$</tt>
- */
-public class ServerKeepAliveFactory implements KeepAliveFactory
-{
- // Constants -----------------------------------------------------
-
- private static final Logger log = Logger
- .getLogger(ServerKeepAliveFactory.class);
-
- // Attributes ----------------------------------------------------
-
- // FIXME session mapping must be cleaned when the server session is closed:
- // either normally or exceptionally
- /**
- * Key = server session ID Value = client session ID
- */
- private List<Long> sessions = new ArrayList<Long>();
-
- // Static --------------------------------------------------------
-
- // Constructors --------------------------------------------------
-
- // Public --------------------------------------------------------
-
- // KeepAliveFactory implementation -------------------------------
-
- public Pong pong(long sessionID, Ping ping)
- {
- Pong pong = new Pong(sessionID, !sessions.contains(sessionID));
- pong.setTargetID(ping.getResponseTargetID());
- return pong;
- }
-
- public List<Long> getSessions()
- {
- return sessions;
- }
-
- // Package protected ---------------------------------------------
-
- // Protected -----------------------------------------------------
-
- // Private -------------------------------------------------------
-
- // Inner classes -------------------------------------------------
-}
Modified: trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java 2008-06-13 01:08:10 UTC (rev 4459)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/MessagingServerPacketHandler.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -21,20 +21,12 @@
*/
package org.jboss.messaging.core.server.impl;
-import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CREATECONNECTION;
-
-import java.util.concurrent.ScheduledExecutorService;
-
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
-import org.jboss.messaging.core.remoting.KeepAliveFactory;
import org.jboss.messaging.core.remoting.Packet;
import org.jboss.messaging.core.remoting.PacketReturner;
-import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionRequest;
-import org.jboss.messaging.core.remoting.impl.wireformat.CreateConnectionResponse;
-import org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket;
-import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
-import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
+import org.jboss.messaging.core.remoting.impl.wireformat.*;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CREATECONNECTION;
import org.jboss.messaging.core.server.MessagingServer;
/**
@@ -51,8 +43,6 @@
private final MessagingServer server;
- private ScheduledExecutorService scheduledExecutor;
-
public MessagingServerPacketHandler(final MessagingServer server)
{
this.server = server;
@@ -94,8 +84,8 @@
else if (type == EmptyPacket.PING)
{
Ping decodedPing = (Ping) packet;
- KeepAliveFactory keepAliveFactory = server.getRemotingService().getKeepAliveFactory();
- Pong pong = keepAliveFactory.pong(sender.getSessionID(), decodedPing);
+ Pong pong = new Pong(decodedPing.getSessionID(), !server.getRemotingService().isSession(sender.getSessionID()));
+ pong.setTargetID(decodedPing.getResponseTargetID());
sender.send(pong);
}
else
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/core/remoting/mina/ServerKeepAliveTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/core/remoting/mina/ServerKeepAliveTest.java 2008-06-13 01:08:10 UTC (rev 4459)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/core/remoting/mina/ServerKeepAliveTest.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -11,12 +11,14 @@
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.remoting.NIOSession;
+import org.jboss.messaging.core.remoting.Packet;
+import org.jboss.messaging.core.remoting.PacketReturner;
import org.jboss.messaging.core.remoting.impl.PacketDispatcherImpl;
import org.jboss.messaging.core.remoting.impl.RemotingServiceImpl;
import org.jboss.messaging.core.remoting.impl.mina.MinaConnector;
-import org.jboss.messaging.core.remoting.impl.mina.ServerKeepAliveFactory;
-import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
-import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
+import org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket;
+import static org.jboss.messaging.core.remoting.impl.wireformat.EmptyPacket.CREATECONNECTION;
+import org.jboss.messaging.core.server.impl.ServerPacketHandlerSupport;
import org.jboss.messaging.tests.unit.core.remoting.impl.ConfigurationHelper;
import java.util.concurrent.CountDownLatch;
@@ -64,9 +66,9 @@
"localhost", TestSupport.PORT);
clientConfig.setKeepAliveInterval(TestSupport.KEEP_ALIVE_INTERVAL);
clientConfig.setKeepAliveTimeout(TestSupport.KEEP_ALIVE_TIMEOUT);
- service = new RemotingServiceImpl(config, new DummyServerKeepAliveFactory());
+ service = new RemotingServiceImpl(config);
service.start();
-
+ service.getDispatcher().register(new DummyServePacketHandler());
MinaConnector connector = new MinaConnector(clientConfig.getLocation(), clientConfig.getConnectionParams(), new PacketDispatcherImpl(null));
final AtomicLong sessionIDNotResponding = new AtomicLong(-1);
@@ -92,12 +94,39 @@
connector.disconnect();
}
- class DummyServerKeepAliveFactory extends ServerKeepAliveFactory
+ class DummyServePacketHandler extends ServerPacketHandlerSupport
{
- public Pong pong(long sessionID, Ping ping)
+ public long getID()
{
- return null;
+ //0 is reserved for this handler
+ return 0;
}
+
+ public Packet doHandle(final Packet packet, final PacketReturner sender) throws Exception
+ {
+ Packet response = null;
+
+ byte type = packet.getType();
+
+ if (type == CREATECONNECTION)
+ {
+ /*CreateConnectionRequest request = (CreateConnectionRequest) packet;
+
+ CreateConnectionResponse createConnectionResponse = server.createConnection(request.getUsername(), request.getPassword(),
+ request.getRemotingSessionID(),
+ sender.getRemoteAddress(),
+ request.getVersion(),
+ sender);
+ response = createConnectionResponse;*/
+
+ }
+ else if (type == EmptyPacket.PING)
+ {
+ //do nothing
+ }
+
+ return response;
+ }
}
// Package protected ---------------------------------------------
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-06-13 01:08:10 UTC (rev 4459)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/remoting/impl/RemotingServiceImplTest.java 2008-06-13 09:36:16 UTC (rev 4460)
@@ -28,7 +28,6 @@
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.remoting.*;
import org.jboss.messaging.core.remoting.impl.RemotingServiceImpl;
-import org.jboss.messaging.core.remoting.impl.mina.ServerKeepAliveFactory;
import org.jboss.messaging.core.remoting.impl.wireformat.Ping;
import org.jboss.messaging.core.remoting.impl.wireformat.Pong;
import org.jboss.messaging.tests.util.UnitTestCase;
@@ -46,7 +45,7 @@
final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
remotingService.setAcceptorFactory(new AcceptorFactory()
{
public List<Acceptor> createAcceptors(Configuration configuration)
@@ -69,7 +68,7 @@
final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
remotingService.setAcceptorFactory(new AcceptorFactory()
{
public List<Acceptor> createAcceptors(Configuration configuration)
@@ -93,7 +92,7 @@
final Acceptor acceptor = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
remotingService.setAcceptorFactory(new AcceptorFactory()
{
public List<Acceptor> createAcceptors(Configuration configuration)
@@ -120,7 +119,7 @@
final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
remotingService.setAcceptorFactory(new AcceptorFactory()
{
public List<Acceptor> createAcceptors(Configuration configuration)
@@ -149,7 +148,7 @@
final Acceptor acceptor3 = EasyMock.createStrictMock(Acceptor.class);
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
remotingService.setAcceptorFactory(new AcceptorFactory()
{
public List<Acceptor> createAcceptors(Configuration configuration)
@@ -179,29 +178,17 @@
{
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
}
- public void testKeepAliveFactoryNotNull() throws Exception
- {
- ConfigurationImpl config = new ConfigurationImpl();
- config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
- assertNotNull(remotingService.getKeepAliveFactory());
- ServerKeepAliveFactory keepAliveFactory = new ServerKeepAliveFactory();
- remotingService = new RemotingServiceImpl(config, keepAliveFactory);
- assertNotNull(remotingService.getKeepAliveFactory());
- assertEquals(keepAliveFactory, remotingService.getKeepAliveFactory());
- }
-
public void testInterceptorsAddedToDispatcher() throws Exception
{
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
@@ -219,7 +206,7 @@
{
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
@@ -243,7 +230,7 @@
{
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
@@ -261,7 +248,7 @@
{
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, null);
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
remotingService = new RemotingServiceImpl(config);
assertNotNull(remotingService.getDispatcher());
@@ -336,9 +323,9 @@
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
config.setKeepAliveInterval(100);
- ServerKeepAliveFactory factory = new ServerKeepAliveFactory();
- factory.getSessions().add(1l);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, factory);
+
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
+ remotingService.getSessions().add(1l);
MessagingException me = new MessagingException();
listener.sessionDestroyed(1l, me);
EasyMock.replay(listener);
@@ -355,11 +342,11 @@
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
config.setKeepAliveInterval(100);
- ServerKeepAliveFactory factory = new ServerKeepAliveFactory();
- factory.getSessions().add(1l);
- factory.getSessions().add(2l);
- factory.getSessions().add(3l);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, factory);
+
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
+ remotingService.getSessions().add(1l);
+ remotingService.getSessions().add(2l);
+ remotingService.getSessions().add(3l);
MessagingException me = new MessagingException();
listener.sessionDestroyed(1l, me);
listener2.sessionDestroyed(1l, me);
@@ -378,9 +365,9 @@
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
config.setKeepAliveInterval(100);
- ServerKeepAliveFactory factory = new ServerKeepAliveFactory();
- factory.getSessions().add(1l);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, factory);
+
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
+ remotingService.getSessions().add(1l);
MessagingException me = new MessagingException();
EasyMock.replay(listener);
remotingService.addRemotingSessionListener(listener);
@@ -397,11 +384,11 @@
ConfigurationImpl config = new ConfigurationImpl();
config.setTransport(TransportType.INVM);
config.setKeepAliveInterval(100);
- ServerKeepAliveFactory factory = new ServerKeepAliveFactory();
- factory.getSessions().add(1l);
- factory.getSessions().add(1l);
- factory.getSessions().add(1l);
- RemotingServiceImpl remotingService = new RemotingServiceImpl(config, factory);
+
+ RemotingServiceImpl remotingService = new RemotingServiceImpl(config);
+ remotingService.getSessions().add(1l);
+ remotingService.getSessions().add(1l);
+ remotingService.getSessions().add(1l);
MessagingException me = new MessagingException();
listener3.sessionDestroyed(1l, me);
EasyMock.replay(listener, listener2, listener3);
More information about the jboss-cvs-commits
mailing list