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 rc...@apache.org on 2019/11/26 10:41:25 UTC
[james-project] 04/06: JAMES-2210 Evaluate the performance impact
to use commons-io in FileSystemBlobStrategy
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 432a6f59ff921c9466090d590d9e4c353d9f0eb6
Author: Manish Agarwal <it...@gmail.com>
AuthorDate: Fri Feb 15 00:16:04 2019 -0800
JAMES-2210 Evaluate the performance impact to use commons-io in FileSystemBlobStrategy
As per the description chaged the code to use IOUtils::copy.
Did not use IOutils::closeQuietly as it is deprecated in latest releases, and recommended way is to use the try-with-resources statement.
---
.../queue/activemq/FileSystemBlobStrategy.java | 25 ++++++----------------
1 file changed, 7 insertions(+), 18 deletions(-)
diff --git a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
index 1195a8e..3568e5c 100644
--- a/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
+++ b/server/queue/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
@@ -35,6 +35,7 @@ import org.apache.activemq.blob.BlobTransferPolicy;
import org.apache.activemq.blob.BlobUploadStrategy;
import org.apache.activemq.command.ActiveMQBlobMessage;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.james.filesystem.api.FileSystem;
/**
@@ -58,20 +59,16 @@ public class FileSystemBlobStrategy implements BlobUploadStrategy, BlobDownloadS
@Override
public URL uploadFile(ActiveMQBlobMessage message, File file) throws JMSException, IOException {
- return uploadStream(message, new FileInputStream(file));
+ try (FileInputStream in = new FileInputStream(file)) {
+ return uploadStream(message, in);
+ }
}
@Override
public URL uploadStream(ActiveMQBlobMessage message, InputStream in) throws JMSException, IOException {
- FileOutputStream out = null;
- try {
- File f = getFile(message);
- out = new FileOutputStream(f);
- byte[] buffer = new byte[policy.getBufferSize()];
- for (int c = in.read(buffer); c != -1; c = in.read(buffer)) {
- out.write(buffer, 0, c);
- out.flush();
- }
+ File f = getFile(message);
+ try (FileOutputStream out = new FileOutputStream(f)) {
+ IOUtils.copy(in, out, policy.getBufferSize());
out.flush();
// File.toURL() is deprecated
return f.toURI().toURL();
@@ -83,15 +80,7 @@ public class FileSystemBlobStrategy implements BlobUploadStrategy, BlobDownloadS
// ignore on close
}
}
- if (out != null) {
- try {
- out.close();
- } catch (IOException e) {
- // ignore on close
- }
- }
}
-
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org