You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2022/10/17 03:11:59 UTC
[james-mime4j] 09/14: MIME4J-318 Do not use Synchronised byte array output streams
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-mime4j.git
commit c340fe60f2f27d47858c67dbde25387c4d94310c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Jun 23 16:23:16 2022 +0700
MIME4J-318 Do not use Synchronised byte array output streams
---
.../james/mime4j/util/ByteArrayOutputStreamRecycler.java | 15 ++++++++-------
.../java/org/apache/james/mime4j/util/ContentUtil.java | 4 ++--
.../org/apache/james/mime4j/message/BasicBodyFactory.java | 1 -
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/core/src/main/java/org/apache/james/mime4j/util/ByteArrayOutputStreamRecycler.java b/core/src/main/java/org/apache/james/mime4j/util/ByteArrayOutputStreamRecycler.java
index d99dda7e..a77d0c50 100644
--- a/core/src/main/java/org/apache/james/mime4j/util/ByteArrayOutputStreamRecycler.java
+++ b/core/src/main/java/org/apache/james/mime4j/util/ByteArrayOutputStreamRecycler.java
@@ -22,13 +22,14 @@ package org.apache.james.mime4j.util;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.apache.commons.io.output.ByteArrayOutputStream;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
public class ByteArrayOutputStreamRecycler {
public static class Wrapper {
private final ByteArrayOutputStreamRecycler recycler;
- private final ByteArrayOutputStream value;
+ private final UnsynchronizedByteArrayOutputStream value;
- public Wrapper(ByteArrayOutputStreamRecycler recycler, ByteArrayOutputStream value) {
+ public Wrapper(ByteArrayOutputStreamRecycler recycler, UnsynchronizedByteArrayOutputStream value) {
this.recycler = recycler;
this.value = value;
}
@@ -37,26 +38,26 @@ public class ByteArrayOutputStreamRecycler {
recycler.release(value);
}
- public ByteArrayOutputStream getValue() {
+ public UnsynchronizedByteArrayOutputStream getValue() {
return value;
}
}
- protected final ConcurrentLinkedQueue<ByteArrayOutputStream> buffers;
+ protected final ConcurrentLinkedQueue<UnsynchronizedByteArrayOutputStream> buffers;
public ByteArrayOutputStreamRecycler() {
buffers = new ConcurrentLinkedQueue<>();
}
public Wrapper allocOutputStream() {
- ByteArrayOutputStream result = buffers.poll();
+ UnsynchronizedByteArrayOutputStream result = buffers.poll();
if (result == null) {
- result = new ByteArrayOutputStream();
+ result = new UnsynchronizedByteArrayOutputStream();
}
return new Wrapper(this, result);
}
- private void release(ByteArrayOutputStream value) {
+ private void release(UnsynchronizedByteArrayOutputStream value) {
if (value != null) {
value.reset();
buffers.offer(value);
diff --git a/core/src/main/java/org/apache/james/mime4j/util/ContentUtil.java b/core/src/main/java/org/apache/james/mime4j/util/ContentUtil.java
index 0e25ce28..d6d2d96e 100644
--- a/core/src/main/java/org/apache/james/mime4j/util/ContentUtil.java
+++ b/core/src/main/java/org/apache/james/mime4j/util/ContentUtil.java
@@ -31,7 +31,7 @@ import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
-import org.apache.commons.io.output.ByteArrayOutputStream;
+import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.james.mime4j.Charsets;
/**
@@ -106,7 +106,7 @@ public class ContentUtil {
if (in == null) {
throw new IllegalArgumentException("Input stream may not be null");
}
- ByteArrayOutputStream buf = new ByteArrayOutputStream();
+ UnsynchronizedByteArrayOutputStream buf = new UnsynchronizedByteArrayOutputStream();
copy(in, buf);
return buf.toByteArray();
}
diff --git a/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java b/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
index f3c74043..10df514b 100644
--- a/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
+++ b/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
@@ -29,7 +29,6 @@ import java.nio.charset.Charset;
import java.nio.charset.IllegalCharsetNameException;
import java.nio.charset.UnsupportedCharsetException;
-import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.james.mime4j.Charsets;
import org.apache.james.mime4j.dom.BinaryBody;
import org.apache.james.mime4j.dom.SingleBody;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org