Cleanup in/out stream in Connection.close()
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/91472ad9 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/91472ad9 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/91472ad9 Branch: refs/heads/tomee-1.7.x Commit: 91472ad9b9493a45a97e7a739ec2cfb916727cc9 Parents: 00f1176 Author: Jonathan Gallimore <[email protected]> Authored: Wed Aug 31 23:40:06 2016 +0100 Committer: Jonathan Gallimore <[email protected]> Committed: Wed Aug 31 23:40:06 2016 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/openejb/client/Client.java | 8 -------- .../openejb/client/HttpConnectionFactory.java | 2 +- .../openejb/client/SocketConnectionFactory.java | 16 ++++++++++++++++ .../openejb/client/OverlyStickyConnectionTest.java | 15 +++++++++++++++ 4 files changed, 32 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/91472ad9/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java ---------------------------------------------------------------------- diff --git a/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java b/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java index e88de73..4cc352a 100644 --- a/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java +++ b/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java @@ -396,14 +396,6 @@ public class Client { } finally { - if (null != out) { - try { - out.close(); - } catch (final Throwable e) { - //Ignore - } - } - if (null != conn) { try { conn.close(); http://git-wip-us.apache.org/repos/asf/tomee/blob/91472ad9/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java ---------------------------------------------------------------------- diff --git a/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java b/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java index 8088fb8..78b1928 100644 --- a/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java +++ b/server/openejb-client/src/main/java/org/apache/openejb/client/HttpConnectionFactory.java @@ -38,7 +38,7 @@ import java.util.concurrent.ConcurrentMap; */ public class HttpConnectionFactory implements ConnectionFactory { // this map only ensures JVM keep alive socket caching works properly - private final ConcurrentMap<URI, SSLSocketFactory> socketFactoryMap = new ConcurrentHashMap<>(); + private final ConcurrentMap<URI, SSLSocketFactory> socketFactoryMap = new ConcurrentHashMap<URI, SSLSocketFactory>(); private final Queue<byte[]> drainBuffers = new ConcurrentLinkedQueue<byte[]>(); @Override http://git-wip-us.apache.org/repos/asf/tomee/blob/91472ad9/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java ---------------------------------------------------------------------- diff --git a/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java b/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java index db0e7e9..b833668 100644 --- a/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java +++ b/server/openejb-client/src/main/java/org/apache/openejb/client/SocketConnectionFactory.java @@ -354,6 +354,22 @@ public class SocketConnectionFactory implements ConnectionFactory { @Override public void close() throws IOException { + if (null != out) { + try { + out.close(); + } catch (final Throwable e) { + //Ignore + } + } + + if (null != in) { + try { + in.close(); + } catch (final Throwable e) { + //Ignore + } + } + if (this.discarded) { return; } http://git-wip-us.apache.org/repos/asf/tomee/blob/91472ad9/server/openejb-client/src/test/java/org/apache/openejb/client/OverlyStickyConnectionTest.java ---------------------------------------------------------------------- diff --git a/server/openejb-client/src/test/java/org/apache/openejb/client/OverlyStickyConnectionTest.java b/server/openejb-client/src/test/java/org/apache/openejb/client/OverlyStickyConnectionTest.java index 1150661..1092f5a 100644 --- a/server/openejb-client/src/test/java/org/apache/openejb/client/OverlyStickyConnectionTest.java +++ b/server/openejb-client/src/test/java/org/apache/openejb/client/OverlyStickyConnectionTest.java @@ -91,6 +91,21 @@ public class OverlyStickyConnectionTest extends TestCase { @Override public void close() throws IOException { + if (null != out) { + try { + out.close(); + } catch (final Throwable e) { + //Ignore + } + } + + if (null != in) { + try { + in.close(); + } catch (final Throwable e) { + //Ignore + } + } } @Override
