diff options
author | Joakim Erdfelt | 2015-10-02 01:18:20 +0000 |
---|---|---|
committer | Joakim Erdfelt | 2015-10-02 01:18:20 +0000 |
commit | 1e8d0db743c5a5cd0d6299c9e6ff3f490c5498ce (patch) | |
tree | 9a7f826b2d80e34d915b2d5999a5540f895ee172 /jetty-websocket/javax-websocket-client-impl | |
parent | f4133dfd358579a73b52c1533be322e9406f02e8 (diff) | |
download | org.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')
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; - } -} |