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) {