Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Erdfelt2015-10-02 01:18:20 +0000
committerJoakim Erdfelt2015-10-02 01:18:20 +0000
commit1e8d0db743c5a5cd0d6299c9e6ff3f490c5498ce (patch)
tree9a7f826b2d80e34d915b2d5999a5540f895ee172 /jetty-websocket/javax-websocket-client-impl
parentf4133dfd358579a73b52c1533be322e9406f02e8 (diff)
downloadorg.eclipse.jetty.project-1e8d0db743c5a5cd0d6299c9e6ff3f490c5498ce.tar.gz
org.eclipse.jetty.project-1e8d0db743c5a5cd0d6299c9e6ff3f490c5498ce.tar.xz
org.eclipse.jetty.project-1e8d0db743c5a5cd0d6299c9e6ff3f490c5498ce.zip
478829 - WebsocketSession not cleaned up / memory leak
+ Reducing looping references Session -> otherObj -> Session + Using Container LifeCycle bean management more consistently + All sessions are now child beans + A stopped session that hasn't been closed, will auto-close now + Using SessionListener more consistently + Client ConnectionManager no longer tracks Sessions + EventDriver stop cleans up its Session references + Moving all DummyConnection test classes to websocket-common:tests
Diffstat (limited to 'jetty-websocket/javax-websocket-client-impl')
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/JsrSessionTest.java4
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/DummyConnection.java156
2 files changed, 2 insertions, 158 deletions
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/JsrSessionTest.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/JsrSessionTest.java
index af1a65e199..773198c995 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/JsrSessionTest.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/JsrSessionTest.java
@@ -18,7 +18,7 @@
package org.eclipse.jetty.websocket.jsr356;
-import static org.hamcrest.Matchers.instanceOf;
+import static org.hamcrest.Matchers.*;
import java.net.URI;
import java.nio.ByteBuffer;
@@ -29,6 +29,7 @@ import javax.websocket.MessageHandler;
import org.eclipse.jetty.websocket.api.WebSocketPolicy;
import org.eclipse.jetty.websocket.common.events.EventDriver;
+import org.eclipse.jetty.websocket.common.test.DummyConnection;
import org.eclipse.jetty.websocket.jsr356.client.EmptyClientEndpointConfig;
import org.eclipse.jetty.websocket.jsr356.client.SimpleEndpointMetadata;
import org.eclipse.jetty.websocket.jsr356.endpoints.EndpointInstance;
@@ -37,7 +38,6 @@ import org.eclipse.jetty.websocket.jsr356.handlers.ByteArrayWholeHandler;
import org.eclipse.jetty.websocket.jsr356.handlers.ByteBufferPartialHandler;
import org.eclipse.jetty.websocket.jsr356.handlers.LongMessageHandler;
import org.eclipse.jetty.websocket.jsr356.handlers.StringWholeHandler;
-import org.eclipse.jetty.websocket.jsr356.samples.DummyConnection;
import org.eclipse.jetty.websocket.jsr356.samples.DummyEndpoint;
import org.junit.Assert;
import org.junit.Before;
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/DummyConnection.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/DummyConnection.java
deleted file mode 100644
index 9a189514e2..0000000000
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/DummyConnection.java
+++ /dev/null
@@ -1,156 +0,0 @@
-//
-// ========================================================================
-// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd.
-// ------------------------------------------------------------------------
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// and Apache License v2.0 which accompanies this distribution.
-//
-// The Eclipse Public License is available at
-// http://www.eclipse.org/legal/epl-v10.html
-//
-// The Apache License v2.0 is available at
-// http://www.opensource.org/licenses/apache2.0.php
-//
-// You may elect to redistribute this code under either of these licenses.
-// ========================================================================
-//
-
-package org.eclipse.jetty.websocket.jsr356.samples;
-
-import java.net.InetSocketAddress;
-import java.util.concurrent.Executor;
-
-import org.eclipse.jetty.io.ByteBufferPool;
-import org.eclipse.jetty.websocket.api.BatchMode;
-import org.eclipse.jetty.websocket.api.SuspendToken;
-import org.eclipse.jetty.websocket.api.WebSocketPolicy;
-import org.eclipse.jetty.websocket.api.WriteCallback;
-import org.eclipse.jetty.websocket.api.extensions.Frame;
-import org.eclipse.jetty.websocket.api.extensions.IncomingFrames;
-import org.eclipse.jetty.websocket.common.LogicalConnection;
-import org.eclipse.jetty.websocket.common.WebSocketSession;
-import org.eclipse.jetty.websocket.common.io.IOState;
-
-public class DummyConnection implements LogicalConnection
-{
- private IOState iostate;
-
- public DummyConnection()
- {
- this.iostate = new IOState();
- }
-
- @Override
- public void close()
- {
- }
-
- @Override
- public void close(int statusCode, String reason)
- {
- }
-
- @Override
- public void disconnect()
- {
- }
-
- @Override
- public ByteBufferPool getBufferPool()
- {
- return null;
- }
-
- @Override
- public Executor getExecutor()
- {
- return null;
- }
-
- @Override
- public long getIdleTimeout()
- {
- return 0;
- }
-
- @Override
- public IOState getIOState()
- {
- return this.iostate;
- }
-
- @Override
- public InetSocketAddress getLocalAddress()
- {
- return null;
- }
-
- @Override
- public long getMaxIdleTimeout()
- {
- return 0;
- }
-
- @Override
- public WebSocketPolicy getPolicy()
- {
- return null;
- }
-
- @Override
- public InetSocketAddress getRemoteAddress()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public WebSocketSession getSession()
- {
- return null;
- }
-
- @Override
- public boolean isOpen()
- {
- return false;
- }
-
- @Override
- public boolean isReading()
- {
- return false;
- }
-
- @Override
- public void outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
- {
- }
-
- @Override
- public void resume()
- {
- }
-
- @Override
- public void setMaxIdleTimeout(long ms)
- {
- }
-
- @Override
- public void setNextIncomingFrames(IncomingFrames incoming)
- {
- }
-
- @Override
- public void setSession(WebSocketSession session)
- {
- }
-
- @Override
- public SuspendToken suspend()
- {
- return null;
- }
-}

Back to the top