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 no...@apache.org on 2010/04/11 15:00:50 UTC
svn commit: r932886 -
/james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
Author: norman
Date: Sun Apr 11 13:00:49 2010
New Revision: 932886
URL: http://svn.apache.org/viewvc?rev=932886&view=rev
Log:
Make sure OutputStreams are also closed on dispose...
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java?rev=932886&r1=932885&r2=932886&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java Sun Apr 11 13:00:49 2010
@@ -51,6 +51,7 @@ public class MimeMessageInputStreamSourc
implements Disposable {
private final List<InputStream> streams = new ArrayList<InputStream>();
+ private final List<OutputStream> streamsOut = new ArrayList<OutputStream>();
/**
@@ -166,8 +167,10 @@ public class MimeMessageInputStreamSourc
* @return
* @throws FileNotFoundException
*/
- public OutputStream getWritableOutputStream() throws FileNotFoundException {
- return new FileOutputStream(file);
+ public synchronized OutputStream getWritableOutputStream() throws FileNotFoundException {
+ FileOutputStream out = new FileOutputStream(file);
+ streamsOut.add(out);
+ return out;
}
/**
@@ -182,6 +185,13 @@ public class MimeMessageInputStreamSourc
// ignore on dispose
}
}
+ for (int i = 0; i < streamsOut.size(); i++) {
+ try {
+ streamsOut.get(i).close();
+ } catch (IOException e) {
+ // ignore on dispose
+ }
+ }
try {
if (file != null && file.exists()) {
file.delete();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org