You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by co...@apache.org on 2013/01/14 19:25:35 UTC

svn commit: r1433022 - in /santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils: UnsyncBufferedOutputStream.java UnsyncByteArrayOutputStream.java

Author: coheigea
Date: Mon Jan 14 18:25:34 2013
New Revision: 1433022

URL: http://svn.apache.org/viewvc?rev=1433022&view=rev
Log:
[SANTUARIO-351] - Removed ThreadLocal storage from OutputStreams

Modified:
    santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncBufferedOutputStream.java
    santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncByteArrayOutputStream.java

Modified: santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncBufferedOutputStream.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncBufferedOutputStream.java?rev=1433022&r1=1433021&r2=1433022&view=diff
==============================================================================
--- santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncBufferedOutputStream.java (original)
+++ santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncBufferedOutputStream.java Mon Jan 14 18:25:34 2013
@@ -27,24 +27,18 @@ import java.io.OutputStream;
  */
 public class UnsyncBufferedOutputStream extends OutputStream {
     static final int size = 8*1024;
-    private static ThreadLocal<byte[]> bufCache = new ThreadLocal<byte[]>() {
-        @Override
-        protected synchronized byte[] initialValue() {
-            return new byte[size];
-        }
-    };
     
-    int pointer = 0;
-    final OutputStream out;
+    private int pointer = 0;
+    private final OutputStream out;
 
-    final byte[] buf;
+    private final byte[] buf;
     
     /**
      * Creates a buffered output stream without synchronization
      * @param out the outputstream to buffer
      */
     public UnsyncBufferedOutputStream(OutputStream out) {
-        buf = (byte[])bufCache.get();
+        buf = new byte[size];
         this.out = out;
     }
 
@@ -95,7 +89,6 @@ public class UnsyncBufferedOutputStream 
     public void close() throws IOException {
         flush();
         out.close();
-        bufCache.remove();
     }
 
 }

Modified: santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncByteArrayOutputStream.java
URL: http://svn.apache.org/viewvc/santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncByteArrayOutputStream.java?rev=1433022&r1=1433021&r2=1433022&view=diff
==============================================================================
--- santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncByteArrayOutputStream.java (original)
+++ santuario/xml-security-java/branches/1.5.x-fixes/src/main/java/org/apache/xml/security/utils/UnsyncByteArrayOutputStream.java Mon Jan 14 18:25:34 2013
@@ -29,19 +29,13 @@ import java.io.OutputStream;
 public class UnsyncByteArrayOutputStream extends OutputStream  {	
 
     private static final int INITIAL_SIZE = 8192;
-    private static ThreadLocal<byte[]> bufCache = new ThreadLocal<byte[]>() {
-        @Override
-        protected synchronized byte[] initialValue() {
-            return new byte[INITIAL_SIZE];
-        }
-    };
 
     private byte[] buf;
     private int size = INITIAL_SIZE;
     private int pos = 0;
 
     public UnsyncByteArrayOutputStream() {
-        buf = (byte[])bufCache.get();
+        buf = new byte[INITIAL_SIZE];
     }
 
     public void write(byte[] arg0) {
@@ -87,12 +81,11 @@ public class UnsyncByteArrayOutputStream
 
     public void reset() {
         pos = 0;
-        bufCache.remove();
+        buf = new byte[INITIAL_SIZE];
     }
     
-    @Override
     public void close() throws IOException {
-        bufCache.remove();
+        buf = null;
     }
 
     private void expandSize(int newPos) {